回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在使用py2exe将脚本编译成一个exe文件以在Windows上运行,但我遇到了基于操作系统(Window 7 x64)的错误。我正在使用<code>execmaker.py py2exe</code>在cmd中运行以下脚本:</p>
<pre><code>from distutils.core import setup
import py2exe
includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
'Tkconstants', 'Tkinter']
packages = []
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
'tk84.dll']
setup(
options = {"py2exe": {"compressed": 2,
"optimize": 2,
"includes": includes,
"excludes": excludes,
"packages": packages,
"dll_excludes": dll_excludes,
"bundle_files": 1,
"dist_dir": "dist",
"xref": False,
"skip_archive": False,
"ascii": False,
"custom_boot_script": '',
}
},
windows=['My_Script.py'] #this is the name of the script I'm compiling to exe
</code></pre>
<p>(第页)</p>
<p>我编译成exe的实际脚本并不重要,因为当我使用<code>bundle_files: 3,</code>编译它时,它工作得非常好,它不捆绑任何文件,并将~200个.pyo文件留在一个文件夹中。</p>
<p>所以让我们进入问题的中心:在Win 7 x64上,我安装了64位版本的Python 2.7.5。当我<code>cd</code>找到<code>execmaker.py</code>和<code>My_Script.py</code>文件所在的文件,并在cmd(<code>execmaker.py py2exe</code>)中运行它时,会收到一条错误消息,其内容如下:
<code>error: bundle-files 1 is not yet supported on win64</code>,我认为这意味着它不会捆绑文件,因为我的操作系统是64位的。我想这可能是因为我安装了64位python而产生的问题,但是当我卸载它时,我收到了错误<code>DLL load failed: %1 is not a valid Win32 application.</code></p>
<p>DLL加载错误是由在64位窗口上运行32位python引起的。所以基本上,它不适用于32位或64位python,因为我运行的是64位Windows。是否有解决方法,或者我需要安装python和我在32位计算机上使用的所有模块来进行编译?</p>
<p>谢谢你的帮助,也谢谢你在这个很长的问题上对我的支持。</p>
<p>编辑-解决方案:我做了更多的研究,却什么也没想到。现在,除非用更有效的方法来回答这个问题,否则在一个分区上或通过并行程序(我就是这样做的)安装32位操作系统就足够了。</p>