代码之家  ›  专栏  ›  技术社区  ›  Koran

python py2exe-内存加载错误

  •  2
  • Koran  · 技术社区  · 15 年前

    我正在用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个月前),但我的硬盘坏了,当我试图重新创建它时,我现在似乎解决不了。:

    如果有人能在这里帮助我,我将不胜感激。

    编辑: 当我使用不带bundle文件选项的py2exe时,它工作得很好。但当我使用bundle文件选项时,它失败了。

    我尝试不使用zipfile选项,其中它与可执行文件一起创建library.zip。又一次失败了。我用7-zip解压了library.zip,发现pyaac.pyd在zip文件的pyaa文件夹中。所以,看起来像是memoryloadlibrary函数的一些问题。

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

    1 回复  |  直到 15 年前
        1
  •  0
  •   ChristopheD    15 年前

    您的版本中缺少一些dll…

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

    然后使用 'dependency walker' 在.pyd文件上(在您的py2exe编译版本中!)要查看仍然丢失的内容(导致 MemoryLoadLibrary .pyd文件的消息)。确保这些依赖项也已发送,…

    推荐文章