【Pyinstaller/cx_freeza已解决】oserror: could not find or load spatialindex_c-64.dll

注意:在此之前我已经把rtree的版本降级到0.9.3了,至于最新的版本我目前也没有找到解决办法。目前比较合适的版本似乎是rtree 0.9.3 配 fiona 1.8.19 配 geopandas 0.9.0 配 python 3.8。还有就是Python 3.8和rasterio不兼容,或许不使用rasterio而用gdal代替,然后采用当前可打包的版本是一种解决办法。也可以全部采用pip试试,不要用conda及其环境,而是纯的pip。(参考:https://www.zhihu.com/question/281858271/answer/611320245里面多个答主的回答看一看)还可手动配置所用到的库的路径及其名称。如果上述都不行,要么放弃geopandas,要么只能建议换一种语言了,如C#、C++等。下面进入正文:

出现这个问题的原因是geopandas引用的库rtree找不到spatialindex_c-64.dll导致的,那么解决这个问题的直接办法就是修改源代码,首先根据报错提示(cx_freeza)我找到出错的原文件路径:

D:\ProgramsInD\anaxonda3\Lib\site-packages\rtree\core.py

报错显示出错的行数是129行,找到该行代码:
在这里插入图片描述
既然是找到不的原因导致的,那就给它这个文件的路径便是了,直接将源代码改为:

    
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值