使用 PyInstaller 编译 PyQt5 Python 应用程序时遇到问题

Posted

技术标签:

【中文标题】使用 PyInstaller 编译 PyQt5 Python 应用程序时遇到问题【英文标题】:Trouble Compiling PyQt5 Python app with PyInstaller 【发布时间】:2018-04-16 02:57:50 【问题描述】:

我看到一些帖子说这个问题已经解决了,但是我仍然无法使用 Python 3.6.4、PyQt 5.10.1 和 Pyinstaller 3.3.1 成功编译。

收到大量警告(如下所示)并且生成的可执行文件无法正常工作。

WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of C:\users\justin\appdata\local\programs\python\python36-32\lib\site-packages\PyQt5\Qt\plugins\bearer\qgenericbearer.dll type errors.

我尝试在命令中包含 python 目录,但没有骰子。当前使用此命令:

pyinstaller --paths "C:\Users\Justin\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\PyQt5\Qt\bin" "..\main.py"

有人遇到过这个问题吗?

【问题讨论】:

尝试更新您的 pyinstaller 版本。 谢谢,我使用的是最新版本 3.3.1,但仍然收到警告。 【参考方案1】:

api-ms-win-crt-runtime-l1-1-0.dll 是 Visual C++ 2015 Redistributable 包的一部分。

Download

【讨论】:

我安装了 C++ 2015(也安装了 2017),但仍然出现这些错误,并且生成的可执行文件无法启动。任何其他想法为什么会发生这种情况?得到很多这些:3995 警告:找不到库:c:\users\justin\appdata\local\programs\python\python36-32\ 的 api-ms-win-crt-locale-l1-1-0.dll 依赖项python.exe 和大量这些:16775 警告:找不到库:api-ms-win-crt-heap-l1-1-0.dll 依赖 [........]\PyQt5\Qt\plugins \imageformats\qjpeg.dll 好吧,我发现其他缺失的模块导致 .exe 出现问题。我仍然收到所有这些 api-ms-win 错误,但我的应用程序运行良好。 我会说尝试重新安装Python。昨天在我切换到 Linux 之前,我注意到我的 Python 文件夹中有 api-ms-xxx.dll,所以我的猜测是重新安装可能会有所帮助。【参考方案2】:

好吧,我发现其他缺少的模块导致 .exe 出现问题。我仍然收到所有这些 api-ms-win 错误,但我的应用运行良好。

【讨论】:

以上是关于使用 PyInstaller 编译 PyQt5 Python 应用程序时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 PyQt5 构建并由 pyinstaller 编译的 GUI 无法正常工作 [不重复] [重复]

在 macOS 和 Windows 上使用 PyInstaller 编译时,简单的 PyQt5 GUI 看起来像 GTK

如何解决意外的 pyinstaller 异常“找不到 pyqt5_plugins 分发”?

PyQt5快速入门PyQt5扩展

pyinstaller 打包pyqt5 报错

pyinstaller 打包pyqt5 报错