pyinstaller EXE OS错误:找不到或加载spatialindex_c-64.dll

问题描述

我正在使用Window 10 64bit创建exe。但是,exe出现以下错误文件“ rtree \ core.py”,第126行,位于 OSError:找不到或加载spatialindex_c-64.dll [23324]无法执行脚本microwave_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正常工作?

解决方法

我遇到了同样的问题,我使用了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"),...)

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