当我尝试使用py2exe将我制作的简单Python游戏转换为exe格式时,它给了我以下错误:
Traceback (most recent call last):
File "C:\Users\Tali\Desktop\2exe.py", line 4, in <module>
setup(console=['test.py'])
File "C:\Python\lib\distutils\core.py", line 152, in setup
dist.run_commands()
File "C:\Python\lib\distutils\dist.py", line 953, in run_commands
self.run_command(cmd)
File "C:\Python\lib\distutils\dist.py", line 972, in run_command
cmd_obj.run()
File "C:\Python\lib\site-packages\py2exe\build_exe.py", line 243, in run
self._run()
File "C:\Python\lib\site-packages\py2exe\build_exe.py", line 305, in _run
dlls = self.find_dlls(extensions)
File "C:\Python\lib\site-packages\py2exe\build_exe.py", line 389, in find_dlls
self.dll_excludes)
File "C:\Python\lib\site-packages\py2exe\build_exe.py", line 1021, in find_dep
endend_dlls
import py2exe_util
ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)
我在网上搜索了大约一个小时,尝试在我的程序中更改内容.什么都行不通.虽然我的程序使用"随机"库,但我没有看到它引起这种问题的情况.
安装脚本:
from distutils.core import setup
import py2exe
setup(console=['test.py'])
Run Code Online (Sandbox Code Playgroud)
是的,两个脚本都在同一个文件夹(桌面)中.如果重要的话,我在使用Python 2.7的Windows Vista上运行
非常感谢大家.
小智 33
我遇到了同样的问题.
由于我有Windows 7 64bit,我下载了py2exe-0.6.9.win64-py2.6.amd64.exe,我想它是py2exe的64位版本.但它没有用,我也有同样的错误.
我改为py2exe-0.6.9.win32-py2.6.exe,它工作正常.
我想你必须匹配32位或64位与python安装而不是Windows本身.
顺便说一句,"setup.py py2exe"或"python setup.py py2exe"真的没关系,如果你指示windows在python安装过程中用python打开*.py.
从您的评论中,我看到您正在命令提示符中执行此操作:
setup.py py2exe
Run Code Online (Sandbox Code Playgroud)
从py2exe 教程的第三步开始,您应该这样做(在命令 promt 中):
python setup.py py2exe
Run Code Online (Sandbox Code Playgroud)
再看一下原问题的评论,发现这个建议已经提出了。为此向华金+1。
尝试再次回答您的问题:Joaquin 还提到这可能是路径问题。您可能想考虑将 python 文件复制到 C:\Python 中,而不是尝试解决这个问题。然后在命令提示符下:
cd C:\Python
python setup.py py2exe
Run Code Online (Sandbox Code Playgroud)
这一直对我有用
希望这可以帮助