Python 2.7 Cx_Freeze: ImportError: No module named __startup__

Posted

技术标签:

【中文标题】Python 2.7 Cx_Freeze: ImportError: No module named __startup__【英文标题】: 【发布时间】:2017-04-15 16:13:13 【问题描述】:

我正在尝试使用 cx_Freeze 将 Python 中的 hello world 程序编译为 Linux 上的独立二进制文件/包。运行 cx_Freeze 时,它​​会在没有错误的情况下完成,但是当我尝试运行生成的可执行文件时,会出现错误:

ImportError: No module named __startup__

我的 setup.py 文件是:

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])

base = 'Console'

executables = [
    Executable('test.py', base=base)
]

setup(name='test',
      version = '1.0',
      description = '',
      options = dict(build_exe = buildOptions),
      executables = executables)

它是这样运行的:

python setup.py build

我很困惑为什么会这样。如果 ImportError 是针对库的,我会理解 - 但 __startup__ 对我来说并不熟悉。

谢谢。

【问题讨论】:

_startup_ 是 cx_Freeze 用来启动应用程序的模块。你能提供你正在使用的 test.py 的内容吗?您可以使用 cx_Freeze 发行版中的简单示例吗?或者你在那里得到同样的错误? 可能与bug on cx_freeze bug tracker 相关。您是否有机会在虚拟环境中运行? 【参考方案1】:

我也遇到了同样的问题。为了你的目标,你可以试试 pinstaller.'hello world' 准确编译。但是问题仍然悬而未决,如何克服这个错误

【讨论】:

欢迎来到 Stack Overflow!您的回答对提出的问题没有太大的价值,也没有解决报告的错误/问题。对于未来,这里有一些信息,如何在 Stack Overflow 上破解一个很棒的答案:***.com/help/how-to-answer【参考方案2】:

我在使用 cx_Freeze 5.0.0 时遇到了同样的问题。将 cx_freeze 降级到 4.3.4 后,我能够解决此问题。其他版本也可以使用。

【讨论】:

我发现 cx_freeze 5.0.1 非常有问题或与 4.3.4 不兼容

以上是关于Python 2.7 Cx_Freeze: ImportError: No module named __startup__的主要内容,如果未能解决你的问题,请参考以下文章

Python 2.7 Cx_Freeze: ImportError: No module named __startup__

imp.load_source() 抛出“No Module Named”错误 Python 2.7

matplotlib 数据的 cx_freeze 错误

cx_Freeze - opencv 兼容性

cx_freeze 帮助 AssertionError

cx_freeze:如何将包文件添加到 library.zip 中?