【问题标题】:Single executable file created by py2exe not workingpy2exe 创建的单个可执行文件不起作用
【发布时间】:2016-10-29 13:40:11
【问题描述】:
我使用 Pyqt4 创建了一个 Python 应用程序来打开一个对话框并使用 opencv2 进行一些图像处理。执行脚本时应用运行良好:
python 脚本.py
要为脚本创建单个可执行文件,我使用带有 bundle_files = 1 选项的 py2exe。它正在创建一个 exe 文件,但是当单击该文件时,会出现一个控制台停留几秒钟,并出现一个弹出窗口,说明程序已停止响应。
我正在使用 anaconda 在 Windows 上工作。请帮我解决一下这个。
【问题讨论】:
标签:
python-2.7
windows-7
pyqt4
anaconda
py2exe
【解决方案1】:
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 中一样,这很烦人)
恭喜眼镜蛇博士