当Python项目编码完成之后,有时候我们需要让其在没有Python环境的电脑上运行,此时我们就需要将Python项目进行打包了。
本篇文章主要是基于Python的第三方库pyinstaller进行的。使用pyinstaller打包Python项目,相对于C和C#项目的打包要简单很多。
项目地址
pyinstaller git
(https://github.com/pyinstaller/pyinstaller)
pyinstaller安装
install pyinstaller
环境要求
python版本:2.7或3.4-3.7,当需要使用字节码加密时需要PyCrypto 2.4+
系统要求:Windows、Linux、macOS都支持,具体使用说明请看官网介绍。本次实践主要在win10上进行。
参数介绍
官网参数详细介绍
(https://pyinstaller.readthedocs.io/en/stable/usage.html#options),在使用pyinstaller打包Python项目的时候,需要指定一些参数,详细介绍请参加官网。
也可以通过pyinstaller -h命令查看pyinstaller的参数使用介绍
常用参数介绍
-D,–onedir:创建一个文件夹包含exe文件(默认)
-F,–onefile:打包之后只会生成一个exe的文件
-c,–console,–nowindowed:使用控制台窗口(默认)
-w,–windowed,–noconsole:使用窗口显示
-i:设置打包exe的图标,默认使用的是Python的图标
单个py文件打包
import cv2
这个程序展示了使用OpenCV来读取图片然后显示,编辑完成之后进入到该目录下,运行pyinstaller -F exmple.py,看到如下信息表示打包成功:
在项目目录下发现多了dist和build两个目录以及一个*.spec的文件。
打开dist目录,可以发现下面多了一个example.exe的可执行文件,双击运行发现并没有显示图片,此时我们需要将logo.jpg拷贝到当前目录下,然后再运行exe程序就可以看到如下结果
如果不想显示控制台打包的时候可以加上-w参数,pyinstaller -F -w example.py,此时打包生成的exe程序执行时不会出现控制台窗口。
修改exe的图标
默认使用的图标如下
ico下载网址
(https://www.easyicon.net/)
=panda.ico example.py
通过-i参数可以指定ico的图标,如果生成的exe的图标没有变化试着将ico图标文件拷贝到exe的相同目录下。
往期文章
怎么处理数据不匹配问题
python实现自适应线性感知器算法
如何分析数据不匹配
怎么为小数据集划分训练集和测试集
通过感知器实现对鸢尾花的分类