py2exe生成的可执行文件日志错误
Py2exe在构建可执行文件的时候没有出现任何错误。但是当我运行这个可执行文件时,会生成一个日志文件,内容如下:
Traceback (most recent call last):
File "ecm2es_gui.py", line 10, in <module>
File "weblogin.pyo", line 4, in <module>
File "mechanize\__init__.pyo", line 122, in <module>
File "mechanize\_mechanize.pyo", line 14, in <module>
File "mechanize\_html.pyo", line 19, in <module>
File "mechanize\_form.pyo", line 64, in <module>
ImportError: No module named inspect
当我从Python Shell、Eclipse或者Geany运行这个程序时,没有任何错误,运行得很好。
我原以为问题出在Mechanize的安装或者其他依赖包上,但现在我觉得这不是问题所在。
有没有什么想法?谢谢! - Brad
更新... 这是我的setup.py文件:
from distutils.core import setup
import py2exe
import sys; sys.argv.append('py2exe')
includes = []
excludes = ['_ssl', 'pdb', 'unittest', 'inspect',
'pyreadline', 'difflib', 'doctest', 'locale',
'optparse', 'pickle', 'calendar', '_gtkagg',
'_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs']
packages = []
dll_excludes = []
setup(
options = {"py2exe": {"compressed": 1,
"optimize": 2,
"bundle_files": 3,
"includes": includes,
"excludes": excludes,
"packages": packages,
"dll_excludes": dll_excludes,
"dist_dir": "dist",
"xref": False,
"skip_archive": False,
"ascii": False,
"custom_boot_script": '',
}
},
# zipfile = None,
name='EnerSave Uploader',
version='0.5',
description='Upload ECM-1240 Data to EnerSave',
author='Brad Norman',
windows=[{"script":"ecm2es_gui.py",
"icon_resources": [(1, "favicon.ico")]}
]
)
1 个回答
1
错误信息是
ImportError: No module named inspect
在你的设置脚本中,你把inspect放在了排除列表里。把它从排除列表中去掉,py2exe就会把它和你的可执行文件一起打包,这样mechanize就可以使用它了。