问题描述

python3.7环境下安装rasterio库后报错“ImportError: DLL load failed: 找不到指定的模块。”或报错“DLL load failed while importing _base”。如下图所示。

值得一提的是在运行rasterio相关项目时,Pycharm和conda终端运行都会如上报错,但在vscode中可以正常运行(摸不着头脑)


原因分析:

rasterio与GDAL版本不匹配。rasterio目前支持的GDAL版本为1.11.x 到 2.4.x.,而目前conda自动安装的gdal版本为3.x,因此在rasterio时需要指定GDAL版本


解决方案:

如果已经安装了gdal3.x版本,需要先卸载:

conda remove rasterio gdal -y

然后执行安装:

conda install rasterio gdal=2 -y

最后我的版本是

gdal        2.3.3

rasterio        1.0.21

 问题解决,可以运行

不过注意导入 rasterio 之前需要先导入 gdal,否则会报错

In [1]: import rasterio
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-350e27267e59> in <module>
----> 1 import rasterio

~\AppData\Local\ESRI\conda\envs\python3\lib\site-packages\rasterio\__init__.py in <module>
     20             pass
     21
---> 22 from rasterio._base import gdal_version
     23 from rasterio.drivers import is_blacklisted
     24 from rasterio.dtypes import (

ImportError: DLL load failed: 找不到指定的模块。

In [2]: from osgeo import gdal

In [3]: import rasterio

参考资料:

使用conda安装rasterio_沉研的博客-CSDN博客_conda rasterio

https://stackoverflow.com/questions/55596662/rasterio-and-gdal-dll-load-fail-in-pycharm

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐