PyInstaller 发布pyqt5 *.exe文件遇到的问题

环境说明:
系统: windows10
工具:Pycharm2019
Python:python3.7,
Package: PyQt5(5.13.0), PyInstaller(3.5), sip(5.0.0),

问题:编辑器可以运行,pyinstaller打包单个exe后,无法运行。
打包方式:pyinstall -F main.py
解决过程分析:
1. 查看路径的中文问题(此问题笔者未遇到过)
2.改用debug打包
pyinstaller -D main.py
运行exe,直接闪退,错误信息无法捕捉,可以在Terminal下运行exe,就会看到错误信息,嘻嘻嘻。。。
主要错误: ImportError: unable to find Qt5Core.dll on PATH (当然还有其他的小问题主要是一些依赖包问题)
3.缺少包依赖,直接安装。
4.检查完依赖,发现问题依然存在,想起c/c++里面依赖指名路径
更改编译参数:pyinstaller -p venv\Lib\site-packages -F main.py
以为到此问题解决了,然并卵。。。
5.着实想不明白,也想不通问题出在哪里,开始各大搜索引擎啊,翻墙啊,尝试各种解决方案啊,还是依然瓜皮。

最终问题是解决了,在main.py里面加入了如下代码:
if hasattr(sys, 'frozen'):
os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

看了一堆资料,大概意思就是说pyqt5有些版本对系统变量的加载存在bug,估计也只有官方才知道,加上上面那一段代码,设置一下,重新打包,问题解决了。

你可能感兴趣的:(PyInstaller 发布pyqt5 *.exe文件遇到的问题)