我正在尝试运行包含pysvn的py2exe'd程序(package.py)。它无法运行并出现以下错误:
Traceback (most recent call last):
File "package.py", line 27, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "pysvn\__init__.pyc", line 99, in <module>
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pysvn\_pysvn_2_6.pyd
该办公室中的其他人可以正常使用该脚本,不同之处在于我在WinXP x86上使用Windows 7 x64。我的pysvn目录中有_pysvn_2_6.pyd。
Py2exe的“要修复的问题”页面与WxPython有一个类似的错误信息,它找不到所需的系统模块,但我没有使用WxPython而且我还有他们引用的dll。
“使用各种软件包和模块”的py2exe页面没有引用pysvn,我找不到其他有类似问题的人。
我检查了this answer概述的py2exe的输出,但我的计算机似乎在正确的位置需要所有二进制文件。
编辑: 我只是试图在同一台机器上运行其他py2exe创建的程序,但它们也失败了。似乎问题在于我的机器(即x64),而不是我正在转换的特定程序;我在另一个程序中遇到了类似的错误:
Traceback (most recent call last):
File "rundemo.py", line 13, in <module>
import win32api as w32
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32api.pyd
EDIT2: 我尝试在32位计算机上使用64位compy生成的py2exe程序,但它们失败并出现同样的错误。我想我正在生成32位exe(py2exe文档说64位支持是实验性的,我没有明确地将它打开),但我不确定如何检查以确定。
答案 0 :(得分:0)
安装PyWin32。
答案 1 :(得分:0)
py2exe项目似乎已经死了,所以我们用C ++重写了我们的exes。我们仍然可以在我们的机器上为Win7 x64构建,但是我们无法在Win7上编写exe文件来运行任何旧版本。