打开cmd,
- 先输入:(不然总会报’utf-8’错误,见错误1)
chcp 65001
- cd到要发布程序所在路径
>E:
>cd E:\Documents\pythonProjects\Tools
- 输入命令
pyinstaller main.py --noconsole --hidden-import PySide2.QtXml
main.py
为要发布的程序pyinstaller
需提前下载,pip install pyinstaller
?--noconsole
指定不要命令行窗口,否则我们的程序运行的时候,还会多一个黑窗口。 但是建议先去掉这个参数,等确定运行成功后,再加上参数重新制作exe。因为这个黑窗口可以显示出程序的报错,这样容易找到问题的线索。--hidden-import PySide2.QtXml
参数是因为这个 QtXml库是动态导入,PyInstaller没法分析出来,需要我们告诉它。
-
等待打包完成后,将程序用到ui、数据等文件拷贝至exe文件夹 —— 打包只会根据py文件导入的库进行下载,而不会分析代码中用到的文件
-
将
pyside2
安装目录下的imageformats
、platforms
、styles
文件夹拷贝至exe文件同级目录下。
错误总结
1. 'utf-8’编码问题
2. This application failed to start
打包好的文件发给别人时出现 —— 拷贝platforms
文件夹,见前述第5点。
3. 发给别人图片无法显示
4. Failed to excute this script
解决:ui文件未拷至发布程序中。