【发布时间】:2013-04-14 10:39:56
【问题描述】:
我的系统:
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会导致错误,要求“重新”丢失包随后我在
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(未更改,除了“re”包括和 cmets 被删除)
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:(输出结束 - 没有列表或任何内容)。
那么在哪里以及如何加载这个插件呢?
【问题讨论】:
-
re问题应该由this pull request 解决。
标签: windows-7 64-bit pyqt4 cx-freeze python-3.3