Mac系统下Python调用osgeo报错:已安装GDAL仍提示找不到osgeo模块
解决
from osgeo import ogr时的ModuleNotFoundError问题 嘿,我之前也踩过一模一样的坑!明明pip3提示GDAL已经装在/usr/local/lib/python3.7/site-packages (2.4.0)了,但就是找不到osgeo模块,这大概率是Python环境不匹配或者路径配置出了问题,给你几个亲测有效的解决方案:
先确认Python环境是否对应
很多时候我们会同时存在多个Python环境(比如系统Python、虚拟环境、Anaconda),pip3安装的包可能属于系统Python3.7,但你运行代码用的却是另一个环境的Python。可以分别运行这两个命令检查路径是否一致:which python3 which pip3如果路径不一样,那就切换到你运行代码的环境(比如激活虚拟环境),然后用对应环境的
pip重新安装GDAL。手动添加GDAL路径到Python环境
这是临时救急的办法,在你的代码开头先把GDAL的安装路径添加到Python的搜索路径里:import sys sys.path.append('/usr/local/lib/python3.7/site-packages') from osgeo import ogr不过这个方法只是治标,还是建议搞定环境匹配的问题更稳妥。
重新安装适配的GDAL版本
有时候GDAL的版本和Python版本兼容性不好,或者安装过程中出现了损坏。可以先卸载再重装:pip3 uninstall -y gdal pip3 install gdal==2.4.0 # 或者尝试和你Python3.7兼容的最新版本如果是Linux系统,也可以试试用系统包管理器安装,比如Ubuntu下:
sudo apt-get install python3-gdal这种方式安装的GDAL会和系统Python更适配。
检查虚拟环境的问题
如果你使用了虚拟环境,一定要确保是在虚拟环境激活的状态下安装GDAL,否则包会装到系统Python里,虚拟环境自然找不到。激活虚拟环境后再运行pip install gdal即可。
内容的提问来源于stack exchange,提问作者emax
相关产品推荐
相关产品推荐

