将 .py 转换为 .exe 时出现 cx_Freeze 错误

Posted

技术标签:

【中文标题】将 .py 转换为 .exe 时出现 cx_Freeze 错误【英文标题】:cx_Freeze error when converting .py to .exe 【发布时间】:2016-04-25 01:36:42 【问题描述】:

所以我一直在到处寻找将 .py 转换为 .exe 的方法,例如 py2exe 和 cx_Freeze。我已经让 cx_Freeze 接近工作,但我遇到了一个错误,我不知道如何修复它,也没有看到它在网上任何地方发布。有谁知道这个错误是什么,更重要的是,我可以修复它的最简单方法? 我正在尝试将一个名为 catanimation.py 的简单程序转换为测试,其中包含一张名为 cat.png 的图片。一切都在我桌面上一个名为“尝试”的文件夹中。这是文件夹、文件和命令提示错误的屏幕截图:Click here。

我这里也写了代码:

    #This is setup.py
    import cx_Freeze

    executables = [cx_Freeze.Executable("catanimation.py")]

    cx_Freeze.setup(
        name="Cat Animation",
        options="build_exe": "packages":["pygame"],
                               "include_files":["cat.png"],
        executables = executables

        )

这里是命令提示信息:

    C:\Users\Nick\Desktop\attempt>setup.py build
    running build
    running build_exe
    Traceback (most recent call last):
      File "C:\Users\Nick\Desktop\attempt\setup.py", line 10, in <module>
executables = executables
      File "C:\Python27\lib\site-packages\cx_Freeze\dist.py", line 362, in setup
distutils.core.setup(**attrs)
      File "C:\Python27\lib\distutils\core.py", line 152, in setup
dist.run_commands()
      File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
      File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
      File "C:\Python27\lib\distutils\command\build.py", line 127, in run
self.run_command(cmd_name)
      File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
self.distribution.run_command(command)
      File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
      File "C:\Python27\lib\site-packages\cx_Freeze\dist.py", line 231, in run
metadata = metadata)
      File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 130, in __init__
        for n in self._GetDefaultBinPathExcludes() + binPathExcludes]
      File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 270, in _GetDe
    faultBinPathExcludes
        import cx_Freeze.util
    ImportError: DLL load failed: %1 is not a valid Win32 application.

    C:\Users\Nick\Desktop\attempt>

我目前正在使用带有 pygame 和 cx_Freeze 的 Python 3.4.0。请帮助我找出问题以及如何解决它,以便我可以使用 cx_Freeze 将 python 游戏制作成可执行文件!如果您回复,请提前感谢!

【问题讨论】:

【参考方案1】:

好吧,我想通了。它在 32 和 64 之间感到困惑,因为我还安装了旧版本的 Python,并且在删除它们后只剩下 3.4,然后将 3.4 文件复制到带有 setup.py 的文件中,Python setup.py build 的命令提示符工作!

【讨论】:

以上是关于将 .py 转换为 .exe 时出现 cx_Freeze 错误的主要内容,如果未能解决你的问题,请参考以下文章

将 tkinter 脚本转换为 .exe 文件后,尝试执行时出现错误:ModuleNotFoundError: No module named 'numpy'

使用 cx_freeze 转换为 *.exe 时出现 SSL 异常

如果source是pdf类型,则将ps转换为pdf时出现问题

使用 py2exe 模块将 .py 转换为 .exe

将 .py/.pyw 转换为 .exe [重复]

将 DataFrame 转换为 DynamicFrame 时出现问题