我的系统:
Windows 7、x64、Python 3.3.1、使用安装程序的 PyQt4 4.10 (py3.3-Qt5.0.1-x64)、cx_freeze 4.3.1 (win-amd64-py3.3)
什么有效:
在终端中导航到
..python33\lib\site-packages\cx_freeze\samples
文件夹(以及相应的示例文件夹)并执行python setup.py build
这适用于:
\simple
和\tkinter
(只是为了确保我没有在其他地方出错)
问题:
但我的目标是获得我的 PyQt4-Project 的可执行文件/包,所以我尝试了相同的
\PyQt4
示例(顺便说一句。PyQt4app.py 完美地作为 python 应用程序工作)\PyQt4 >>> python setup.py build
最初不起作用:运行生成的PyQt4app.exe
结果会出错,要求输入丢失的包“re”随后我在
setup.py
文件中包含“re”。(options = {"build_exe" : {"includes" : ["atexit", "re"]}}
)现在它会生成一个 .exe 而不会引发错误 - 但运行这个 .exe 不会做任何事情,只是沉默......
cx_freeze 似乎找到了正确的依赖关系:
python33.dll
,Qt5Core.dll
,Qt5Gui.dll
,PyQt4.QtCore.pyd
,PyQt4.QtGui.pyd
(其中包括:sip、unicodedata 等)存在。
这里setup.py
(不变,除了“重新”包括和评论被删除)
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(
name = "simple_PyQt4",
version = "0.1",
description = "Sample cx_Freeze PyQt4 script",
options = {"build_exe" : {"includes" : ["atexit", "re"]}},
executables = [Executable("PyQt4app.py", base = base)])
有什么建议我哪里出错了吗?哪些额外的信息会有用?
- 顺便提一句。- docs.python.org/3/faq链接到py2exe - 但 py2exe不适用于 Python 3.x!?
编辑:我设法base = None
通过批处理文件设置和运行 .exe 来获得控制台输出。输出是:(Failed to load platform plugin "windows". Available platforms are:
输出结束 - 没有列表或任何东西)。
那么在哪里以及如何加载这个插件呢?