我在Python 3.6中创建了一个带有内置PyQt5的GUI的应用程序。有些模块仅适用于Python 3.5和3.6。 我设法使用py2app将它打包在Mac上。我试图在Windows上做同样的事情。我尝试使用this guide,但我仍有问题。 据我了解,我有3个选择:
1)py2exe
根据here py2exe仍然无法用于python3.6,我需要使用python3.5。
使用3.5,我收到此错误并且编译停止:
error: [Errno 2] No such file or directory: 'C:\\Users\\carlo\\AppData\\Roaming\\Python\\Python35\\site-packages\\py2exe\\run-py3.5-win32.exe'
2)pyinstaller
通过Python3.5运行pyinstaller:
pyinstaller --onefile APP.py
我只收到一堆警告(未找到lib),但编译结束了。但是,创建的EXE会打开命令提示符并弹出以下错误:
Traceback (most recent call last):
File "site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py", line 46, in <module>
File "c:\program files (x86)\python35-32\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 573, in load_module
module = loader.load_module(fullname)
ImportError: DLL load failed: %1 is not a valid Win32 application.
Failed to execute script pyi_rth_qt5plugins
3)cx_Freeze 使用python3.5,它首先给出了TCL_LIBRARY&#39;错误。按照here说明编译顺利进行。但是,创建的应用程序会立即打开和关闭。它根本不起作用。 使用python3.6,编译似乎没问题。当我尝试打开应用程序时,会弹出此错误。我刚刚设法快速screen-shot:
有人有任何建议吗?我不考虑任何其他选择?
答案 0 :(得分:0)
我设法解决了这个问题!
我按照request.endpoint
attribute的说明进行操作。
我第一次跑(用Python3.5):
pyinstaller CodeName.py
然后我修改了here中指示的.spec文件,发生了魔法!