【发布时间】:2010-12-16 18:43:40
【问题描述】:
我使用 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 设置脚本等。
感谢您的帮助和 cmets。
【问题讨论】:
-
好问题。 py2exe 过去对我们的目的非常有用。
-
py2exe 现在可用于 Python 3!
标签: python-3.x pyqt4 py2exe pyinstaller