【发布时间】:2011-09-21 17:16:30
【问题描述】:
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 或鸡蛋,但现在我认为这不是问题。
有什么想法吗? TIA - 布拉德
更新...这是我的 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")]}
]
)
【问题讨论】:
-
你的 py2exe 安装脚本是什么样的?你为 bundle_files 使用了什么,你为包含设置了什么?
-
inspect是否应该在您的排除列表中?如果删除它会发生什么? -
在 setup.py 中添加检查、日历等...后,我意识到我应该更改我的代码: import mechanize to: from mechanize import * 从 py2exe 生成的可执行文件正在运行!一个菜鸟的错误。
标签: python mechanize py2exe importerror