我正在用Python创建一个中级应用程序。 现在一切都运行良好,我试图用py2exe使这个可执行文件成为可执行文件。 可执行文件创建正常,但是当我尝试运行它时,它会因以下错误而失败。

  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解压缩它。这可能是一个线索吗?

有帮助吗?

解决方案

你在构建中遗漏了一些DLL ......

首先在硬盘中搜索文件 _pyAAC.pyd 。确保它在您的版本中包含(发货)。

然后在.pyd文件上使用'dependency walker'(在py2exe编译版本中!)看看它是什么仍然缺失(其他DLL导致.pyd文件的 MemoryLoadLibrary 消息)。确保这些依赖项也已发货,......

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top