2

我正在用 Python 创建一个中级应用程序。现在一切正常,我正在尝试使用 py2exe 使其成为 Windows 可执行文件。可执行文件创建得很好,但是当我尝试运行它时,它失败并出现以下错误。

  File "zipextimporter.pyo", line 82, in load_module
  File "ffhandler.pyo", line 33, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\__init__.pyo", line 1, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\AA.pyo", line 8, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\pyAAc.pyo", line 5, in ?
  File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pyAA\_pyAAc.pyd

我在这个应用程序中使用 pyAA。我搜索了互联网,但无法获得任何解决方案。我将 msvcp71.dll 复制到 windows/system32,但问题仍然存在。

我早些时候(大约 7 个月前)解决了它,但是我的硬盘崩溃了,当我尝试重新创建它时,我现在似乎无法解决它。:-(

如果有人可以在这里帮助我,我将非常感激。

编辑:当我使用没有捆绑文件选项的 py2exe 时,它​​运行良好。但是当我使用捆绑文件选项时,它失败了。

我尝试不使用 zipfile 选项,其中它创建了一个 library.zip 以及可执行文件。又失败了。我使用 7-zip 解压缩了 library.zip,发现 _pyAAc.pyd 位于 zip 文件内的 pyAA 文件夹中。因此,它看起来像是 memoryloadlibrary 函数的一些问题。

当我尝试使用 Windows 解压缩功能解压缩时,它失败了。我不得不使用 7-zip 解压缩它。这是一个可能的线索吗?

4

1 回答 1

0

您在构建中缺少一些 DLL...

首先在硬盘上搜索文件_pyAAC.pyd。确保它包含(运送)在您的构建中。

然后在 .pyd 文件(在您的 py2exe 编译版本中!)上使用“dependency walker”来查看仍然缺少的内容(导致MemoryLoadLibrary.pyd 文件消息的其他 DLL)。确保这些依赖项也已交付,...

于 2009-11-29T19:24:13.130 回答