我正在尝试从使用 PyQt5 的代码创建一个可执行文件。我使用Python 3.5.3 -64位,在Windows 10中开发,使用pip安装pyinstaller 3.2.1,并安装pywin32。 Pyinstaller 运行但输出未找到库的警告。
我正在使用以下内容创建我的应用程序:
pyinstaller Start_UI.py
哪个输出这些警告 https://docs.google.com/document/d/1zeHj7rFc_rWgtnoTVpd3YDxqgdbZh6YZxmdy5kwUXMQ/edit?usp=sharing.
pyinstaller Start_UI.spec
哪个输出这些警告 https://docs.google.com/document/d/1vl9JjPRvCmFJlddNddSpThgv0QpMU0Yu8DbijXngT8k/edit?usp=sharing
当我打开 pyinstaller 创建的可执行文件时,应用程序立即关闭。我怀疑应用程序由于警告而失败。如何解决警告以使可执行文件正常工作?
感谢您的答复。
Edit:我在计算机上搜索 DLL 文件并将它们复制到 dist 文件夹中,该文件夹解决了输出的警告:
pyinstaller Start_UI.py
As for:
pyinstaller Start_UI.spec
我在 Windows SDK 安装中找到了 Mission api-mis-win-crt-* dll 文件,并将它们复制到 dist 中。这次,警告没有得到解决,因为 pyinstaller 无法找到 dll 文件。我需要将 api dll 文件放在哪里以便 pyinstaller 找到它们?
经过大量研究,问题出在 Windows 10 上。虽然我没有找到 Windows 10 解决方案,但我确实在 Windows 7 中解决了问题。
我在 Windows 7 上测试了 pyinstaller,仍然收到警告,但没有收到 api-ms-win-crt-*.dll 警告。
我将Python35目录中的所有dll文件复制到pyinstaller生成的dist文件夹中。此时,pyinstaller 可以将 Hello World 程序转为可执行文件,不会出现错误:
pyinstaller --onefile Hello_World.py
但是,将 PyQt5 程序转换为可执行文件会出现错误,因为 pyinstaller 无法找到 Qt5*.dll 文件。要修复此问题,请将 Lib/site-packages/PyQt5/Qt/bin 下的 PyQt5、Qt5*.dll 文件复制到 dist 中。然后使用 --path 告诉 pyinstaller dll 文件在哪里:
pyinstaller --onefile --path dist Start_UI.py
这将在 dist 中创建一个工作可执行文件 Start_UI.exe。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)