将Python代码打包成可执行文件exe
1.将Python代码打包成可执行exe文件的过程
a.通过pip安装pyinstaller模块,即输入pip install pyinstaller命令行
b. 将命令目录转到需打包文件所在的父目录,输入命令:pyinstaller -F -w UI_RefrigeratorPreprocess.py
其中,-F参数代表制作独立的可执行程序。
-w是指程序启动的时候不会打开命令行。如果不加-w的参数,就会有黑洞洞的控制台窗口出来。
当输入命令:pyinstaller -F -w -i pictureICO.ico UI_RefrigeratorPreprocess.py
-i pictureICO.ico指设置自己的图标图案,打包指定exe图标。将其他格式图片转成ico格式的网站:https://app.xunjiepdf.com/img2icon/
c.打包完成后,打包好的exe文件在所需打包文件所在的文件夹下自动生成的“dist”文件夹里面,打包完成。
2.使用pyinstaller打包文件出现如下问题时的解决方案:
a.问题: Exception:
Cannot find existing PyQt5 plugin directories
Paths checked: C:/Miniconda3/conda-bld/qt_1535195524645/_h_env/Library/plugins
解决方案:根据路径在c盘中一层一层建立文件夹构成“C:/Miniconda3/conda-bld/qt_1535195524645/_h_env/Library /plugins”,并将“E:\Python\Anaconda3\Library\plugins\PyQt5”文件下的文件“pyqt5qmlplugin.dll”拷贝到上面的目录中
b. 问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 117: invalid continuation byte
解决方案:在命令行中输入命令:chcp 65001,并按下回车键;接着输入打包文件命令行
即可。
c. 问题:打包完成后,双击exe可执行文件,出现如下情况:
解决方案:将包含“qwindows.dll"的文件夹“platforms”拷贝到存在可执行文件exe的文件夹中,双击exe文件即可。
d. 问题:pyinstaller 打包成exe可执行文件后, pyqt5写的界面菜单栏的图标显示不出来
原因:打包后的文件夹缺少依赖项“imageformats”
解决方案:将文件夹“imageformats”拷贝到可执行exe文件所在的文件夹中。
注:可执行文件所在的文件夹里面的文件如下: