py2exe创建的单个可执行文件无法正常工作

时间:2016-10-29 13:40:12

标签: python-2.7 windows-7 pyqt4 anaconda py2exe

我使用Pyqt4创建了一个Python应用程序来打开一个对话框并使用opencv2进行一些图像处理。在执行脚本时,应用程序正常工作:

python script.py

要为脚本创建单个可执行文件,我使用py2exe和bundle_files = 1选项。它正在创建一个单独的exe文件,但是当单击该文件时,控制台会出现停留几秒钟,并出现一个弹出窗口,说明程序已停止响应。

我正在使用anaconda开发Windows。请帮我解决一下这个。

1 个答案:

答案 0 :(得分:0)

Py2exe会在您首次执行生成的 .exe 的同一文件夹中生成logfile.txt。 检查此日志文件以进行调试。

大部分时间你需要排除一些dll并至少包含 sip -module;

在你的setup.py文件中:

from distutils.core import setup
import shutil, py2exe

opts = {'py2exe': {'compressed': True, "dll_excludes": ["MSVCP90.dll"], "includes" : ["sip"]}}

setup(console=[{"script" : "main.py"}], options=opts)
shutil.rmtree('build', ignore_errors=True)           #Remove the build folder                    

就个人而言,我没有遇到包含PyQt4模块进行编译的需要..

并且很高兴python是一种解释性语言,否则你将不得不担心在每次构建时链接到库(比如cpp ..,这很烦人)

Greets Dr Cobra