【问题标题】:pyinstaller EXE OSError: could not find or load spatialindex_c-64.dllpyinstaller EXE OSError: 找不到或加载 spatialindex_c-64.dll
【发布时间】:2020-10-30 00:41:35
【问题描述】:

我正在使用 Window 10 64bit 创建 exe。但是,exe给出以下错误: 文件“rtree\core.py”,第 126 行,在 OSError: 无法找到或加载 spatialindex_c-64.dll [23324] 无法执行脚本微波_python_code

我尝试了以下 ppl 共享的解决方案,但仍然无法解决问题。

  1. --add-data=C:\path\to\spatialindex_c-64.dll;。到我的构建命令
  2. pip 卸载 rtree 然后使用 'Rtree-0.9.4-cp37-none-win_amd64.whl' 安装
  3. 安装“spatialindex-src-1.9.3.tar.gz”
  4. 将“spatialindex_c-64.dll”复制到 rtee 站点包文件夹中
  5. 将“spatialindex_c-64.dll”复制到 exe 文件夹中

任何人都可以通过上述操作创建工作 exe 吗? 尝试上述解决方案后我仍然面临问题。我还能做些什么来让我的 exe 正常工作?

【问题讨论】:

    标签: pyinstaller executable libspatialindex


    【解决方案1】:

    我遇到了同样的问题,我使用http://pyinstaller.47505.x6.nabble.com/OSError-while-running-exe-td2997.html 上的最终答案解决了它。

    要解决这个问题,找到构建.exe时创建的.specs文件,并在其中添加两件事:

    from PyInstaller.utils.hooks import collect_dynamic_libs
    ...
    a = Analysis(...
                binaries=collect_dynamic_libs("rtree"),
                ...)
    
    

    这将找到rtree 使用的.dll 文件。 之后,您可以使用命令pyinstaller your_script_name.spec 重建它。

    【讨论】:

    • 我有同样的问题,如果我在 .spec 文件中打印出collect_dynamic_libs("rtree"),我会得到空列表。我认为这不是理想的输出。知道为什么会这样吗?
    猜你喜欢
    • 2021-03-08
    • 2018-03-11
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 2019-11-10
    相关资源
    最近更新 更多