起因
关于选择pyside2的原因,http://www.python3.vip/里有详细说明,也可以参考对应的bilibili链接。
安装pyinstaller
发布程序需要的pyinstaller
pip install pyinstaller
打包命令
pyinstaller -F XXX.py --noconsole --hidden-import PySide2.QtXml
生成三个文件夹和一个XXX.spec文件,打开dist文件夹,双击XXX.exe,如果提示无法read/open XXXX.ui,请将ui文件按照XXX.exe的相对路径放置XXX.ui文件即可。
pyinstaller -F XXX.py --noconsole --hidden-import PySide2.QtXml
有-F生成的是一个exe,体积较小,没有-F会生成整个大的文件夹,单独运行需要拷贝整个dist文件夹。
小技巧
这里再记录一个小技巧。在pyside2打包后,不同的版本和操作系统的差异,可能存在其他的报错,有时候是黑框一闪而过,那怎么知道黑框在关闭前一瞬间打印了什么错误提示信息呢?我看到有个博主用什么手机高速录像拍视频,然后一帧一帧查找最后查找到了黑屏退出前一瞬间的打印内容。。。其实不用这样的,将打包好的(待排查问题的)XXX.exe在cmd中打开运行,在cmd命令行中就会有报错信息。
经常可能提示XXX.dll文件缺失,补上就可以了。
参考来源链接
亲历Python从GUI设计到发布程序的全过程
https://www.bilibili.com/video/BV17p4y1X7uB?t=9