Python与Py2Exe: "%1 不是有效的Win32应用程序

2 投票
3 回答
10000 浏览
提问于 2025-04-16 06:47

我正在尝试把一个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,我的电脑是32位的,运行的是Windows 7。任何建议或帮助都非常感谢。

3 个回答

0

我也遇到过同样的问题,这是我能做到的事情 问答链接。简单来说,我从sqlite.org网站上下载了更新的sqlite dll文件。然后我把py2exe生成的DLL文件替换成这个新文件。之后程序就能正常运行了。不过要确保你下载的是32位的DLL哦。

0

听起来这个教程的第5步正好描述了你遇到的问题:

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

1

根据我的经验,py2exe 用起来相当麻烦,有时候能成功,有时候又不行,尤其是和 matplotlib 一起使用时,简直让人抓狂。

我知道这个问题已经有点旧了,但我不明白为什么还有人继续使用 py2exe,明明有很多更好用的替代品。我用 pyinstaller 的效果很好(这是我在这里问问题时,别人推荐给我的,当时我也在和 py2exe 斗争)。每次我尝试 pyinstaller 时,它都能“顺利运行”,所以如果你还想把 Python 代码打包成可执行文件,不妨试试这个工具。

http://www.pyinstaller.org/

注意: py2exe 已经好几年没有更新了,而 Python 和第三方模块都在不断更新,这可能就是它现在常常不太好用的原因之一。

撰写回答