我使用PyQt4构建了一个相当简单的Python 3.1应用程序。完成后,我希望将该应用程序分发到未安装其任何组件的计算机上。
我主要关注Windows平台,因此我的目标是最终只有一个可执行文件以及一些资源文件和.dll文件。
经过搜索,我得出以下结论:
- py2exe仅支持Python版本2.7及以下
- pyinstaller仅支持Python版本2.6及以下
- cx_Freeze对我来说不起作用,因为在尝试执行成功构建的二进制文件时,我不断遇到以下错误:
Y:\Users\lulz\build\exe.win32-3.1>system_shutdown.exe
Traceback (most recent call last):
File "Y:\Program Files (x86)\Python\lib\site-packages\cx_Freeze\initscripts\Console3.py", line 27, in exec(code, m.__dict__)
File "Y:/Users/lulz/Documents/Coding/Python3/projects/System Shutdown/system_shutdown.pyw", line 5, in from PyQt4 import QtCore
File "ExtensionLoader_PyQt4_QtCore.py", line 16, in AttributeError: 'NoneType' object has no attribute 'modules'
我的问题基本上有两个:
- 除了cx_Freeze之外,是否还有其他方式来构建具有我的配置的二进制文件?
- 如果没有,那么cx_Freeze的问题可能是什么?
如果需要,我可以提供更多关于第二个问题的信息,例如我的cx_Freeze调用、我的distutils设置脚本等。
感谢您的帮助和评论。