一、现象
打包命令
pyinstaller -F xxx.py
发现打包后的 xxx.exe在使用时发生闪退,使用 cmd命令打开 xxx.exe
Traceback (most recent call last):
File "xxx.py", line 7, in <module>
from PyQt5.QtWidgets import QApplication
ImportError: DLL load failed: 找不到指定的模块。
[9588] Failed to execute script xxx
二、错误原因
pyinstaller 无法准确获取 Qt动态库文件路径,打包生成的文件 xxx.exe 内缺少相关依赖
三、修复方法
打包时写入Qt动态库文件的路径,如下所示
pyinstaller --paths C:/Program/Python36/Lib/site-packages/PyQt5/Qt/bin -F -w xxx.py
参考资料