一、安装pyinstaller
# 使用pip安装
pip install pyinstaller
# 使用conda安装
conda install pyinstaller
二、使用方式
打开脚本窗口,定位到需要打包的python文件中进行操作,在conda虚拟环境中使用的,需提前进入环境中。
最常规的用法:
pyinstaller -F -w python.py # 参数F w 后文有解释
其他进阶用法参考此表格:
-h/--help 查看该模块的帮助信息 -F 产生单个的可执行文件,不暴露其他信息,启动较慢 -D 产生一个目录(包含多个文件)作为可执行程序,启动快 -w 指定程序运行时不显示命令行窗口(仅对 Windows 有效)也就是不显示小黑窗口 -a/--ascii 不包含 Unicode 字符集支持 -d/--debug 产生 debug 版本的可执行文件 -c 指定使用命令行窗口运行程序(仅对 Windows 有效) -o 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 -p 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 -n 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字 如果不理解或需要别的功能,请自行使用-h/--help指令查询
可以去这里下载icon文件:iconfont-阿里巴巴矢量图标库
可以去这里将图片转化为icon文件:制作ico图标 | 在线ico图标转换工具 方便制作favicon.ico - 比特虫 - Bitbug.net
然后用指令自定义图标:
pyinstaller -F -i icon.ico python.py
三、pyinstaller和第三方依赖库(opencv-python)打包使用
如果打包好之后显示缺少别的包,替换下指令中的名称即可
pyinstaller -F -w --hidden-import opencv-python python.py
打包完出现如下问题:
No module named 'pyqtgraph.graphicsItems.ViewBox.axisCtrlTemplate_pyqt5' while executing exe
可能和pyinstaller版本有关系,可减低版本解决该问题
pip install pyinstaller==4.8