【问题标题】:py2exe executable generates log file errorpy2exe 可执行文件生成日志文件错误
【发布时间】: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


【解决方案1】:

错误是

ImportError: No module named inspect

在您的设置脚本中,您的排除列表中有 inspect。从排除项中删除它,py2exe 会将其与您的可执行文件一起打包,以便 mechanize 可以使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-24
    • 2010-09-11
    • 1970-01-01
    相关资源
    最近更新 更多