【问题标题】:Python And Py2Exe: "%1 Is Not A Valid Win32 Application"Python 和 Py2Exe:“%1 不是有效的 Win32 应用程序”
【发布时间】:2010-11-09 10:25:16
【问题描述】:

我正在尝试将 python 项目编译为可执行文件。为了测试这一点,我安装了 Py2Exe,并尝试进行 Hello.py 测试。这是hello.py:

print "Hello World!"

这是我的 setup.py:

from distutils.core import setup
import py2exe

setup(console=['hello.py'])

我在命令行上执行以下操作:

python setup.py py2exe

我让它大部分时间都在工作,直到它开始“查找所需的 dll”,此时我们得到:

Traceback:
<some trace>
ImportError: DLL load failed: %1 is not a valid Win32 application.

Python 版本是 2.6.6,我在运行 Windows 7 的 32 位机器上。任何想法或帮助都非常感谢。

【问题讨论】:

标签: python windows-7 py2exe


【解决方案1】:

根据我的经验,py2exe 使用起来相当困难,就它是否会起作用而言有点碰运气,而且使用任何 matplotlib 导入完全是一场噩梦。

我意识到这个问题现在已经很老了,但我不确定为什么人们会继续使用py2exe,因为有更流畅的替代方案可用。我在pyinstaller 上取得了不错的成绩(在我在这里与py2exe 战斗的SO 上提出问题后向我推荐)。现在,每次我尝试它时,它都“正常工作”,所以如果你仍然对将 python 代码打包成可执行文件感兴趣,那么试试这个应用程序吧。

http://www.pyinstaller.org/

注意: py2exe 已经有几年没有更新了,而 python 和 3rd 方模块有,这一定是它经常不起作用的部分原因这些天特别好。

【讨论】:

    【解决方案2】:

    听起来本教程中的第 5 步描述了您所遇到的情况:

    http://www.py2exe.org/index.cgi/Tutorial#Step5

    【讨论】:

    • 我已经调查过了,但据我所知,我的机器上安装了可再发行组件。这意味着它至少应该编译,即使它实际上并没有随 DLL 一起提供。没有?
    【解决方案3】:

    我遇到了同样的问题,这就是我能够做到的Q-A。基本上,我从 sqlite.org 下载了更新的 sqlite dll 文件。我用这个新文件替换了 py2exe 生成的 DLL 文件。该程序在那之后起作用了。不过,请务必下载 32 位 DLL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多