参考网址:https://zhuanlan.zhihu.com/p/370914926
- 用anaconda的conda命令创建虚拟环境,因为打包时会把当前环境下的所有包都打包,生成的文件还会很大,所以创建虚拟环境,只装用到的包
- 激活虚拟环境,在虚拟环境中安装所需要的包和pyinstaller包
- 准备好打包的文件,包含图标.ico文件,python程序和所需的其他文件,放在一个文件夹内
- 用Pyinstaller命令打包
- 删除虚拟环境
虚拟环境准备
conda create -n tempenv python==3.6 #创建名为tempenv的虚拟环境,并在环境中安装指定版本的python
conda activate tempenv #激活虚拟环境
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller #安装需要的包
conda list #查看虚拟环境所安装的包
conda deactivate #退出虚拟环境
conda info --envs #查看所有的环境
检查代码并打包
PMI文件夹:
- pmi.ico
- PMI.py
conda activate tempenv #激活虚拟环境
cd xxxxx #切到当前目录
python xxx.py #检查程序运行是否正常
Pyinstaller -D -i pmi.ico PMI.py
打包完成后,PMI文件夹会生成:
- build文件夹
- dist文件夹
- PMI.spce
dist文件夹中的PMI文件夹里有PMI.exe
conda remove -n tempenv --all #删除虚拟环境
备注:图标文件必须是16×16的,不然会报错。用格式工厂转化成ico 文件即可。
实际案例
打包预测程序,需要用到XGBOOST,并读取一个训练好的XGBOOST模型(XGB.pkl)用于预测
Pyinstaller -D -i kabisou.ico predict.py
打包过程顺利,没有出错,但是运行predict.exe出错,如下:
Traceback (most recent call last):
File