Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)

每天都在geopandas的踩坑之路上……

1. 问题重现

我的geopandas是按照官网推荐的方式,在一个全新的干净的虚拟幻境里用conda install geopandas安装的,按道理来说应该是根正苗红。
想用geopandas读一个shp文件,报错:DLL load failed:找不到指定模块。Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)

2. 重装fiona

用pip查看,明明装了fiona模块,难道是版本不对?
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
查看我的python版本:3.7,系统是windows 64位。
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
geopandas的官网上查找依赖信息,看到有一个网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/可以下载各种依赖库的whl格式:
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
可以看到python3.7对应的是1.8.19,下载该文件
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
先卸载原来的fiona,再用pip安装fiona的whl(直接把下载好的文件拖动到prompt里面就能获得文件路径了)。
结果又报错,找不到gdal 3.2.1,这个问题非常眼熟有没有:
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
再用pip看看,gdal其实也有,但是版本过低。
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)

3. 安装GDAL

还是到刚才那个网站上下载gdal,没有3.2.1,凑合着用3.2.3吧:
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
卸载原来的gdal,安装新的gdal,成功;
安装新的fiona,成功!
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)
回到jupyter notebook,重启内核,见证奇迹:
Geopandas read_file报错:DLL load failed:找不到指定模块(fiona)

上一篇:英语中数学符号读法


下一篇:java多线程 -- ConcurrentHashMap 锁分段 机制