我使用 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 设置脚本等。
已经感谢您的帮助和评论。