【问题标题】:Python Exe made with Pyinstaller is trying to find dll from wrong location使用 Pyinstaller 制作的 Python Exe 试图从错误的位置找到 dll
【发布时间】:2014-09-28 17:38:30
【问题描述】:

我有一个在 32 位计算机上使用 pyinstaller 制作的 onefile 可执行文件。我确保在我的规范文件的二进制部分中包含必要的 dll 文件。我使用存档查看器验证了这些文件是否包含在内。

但是,当我尝试在已安装 Python 的 64 位计算机上运行 exe 文件时,它会尝试在 Python27/Scripts 文件夹中找到与其他 32 位 dll 不兼容的 dll 文件包含在exe文件中。

如何在我的 exe 文件中包含 32 位 dll 并让 64 位计算机在 exe 运行时访问它?

【问题讨论】:

    标签: python dll exe executable pyinstaller


    【解决方案1】:

    这段代码似乎对加载 DLL 时搜索的路径设置了相当高的优先级。您可以将它放在程序入口点的开头。

    try:
        import win32api
        win32api.SetDllDirectory(sys._MEIPASS)
    except:
        pass 
    

    【讨论】:

      猜你喜欢
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2022-09-27
      • 1970-01-01
      • 2017-01-31
      • 2022-11-20
      • 2022-12-04
      相关资源
      最近更新 更多