执行from osgeo import gdal报错ModuleNotFoundError: No module named '_gdal'求助
解决GDAL 3.5.1二进制安装后
ModuleNotFoundError: No module named '_gdal'问题 以下是针对该问题的具体排查和解决步骤:
检查环境兼容性
确认你安装的GDAL 3.5.1二进制包与当前使用的Python版本、系统架构(32/64位)完全匹配。GDAL的Python绑定对版本和架构依赖严格,不匹配会导致底层模块无法被识别。验证Python绑定完整性
找到GDAL的安装目录,进入python子目录(Windows通常是C:\Program Files\GDAL\python,Linux/macOS多为/usr/local/lib/pythonX.X/site-packages):- 确认
osgeo文件夹存在,且内部包含_gdal.cpXX-win_amd64.pyd(Windows)或_gdal.so(Linux/macOS)这类底层扩展文件; - 如果缺少这些文件,说明二进制安装包不完整,重新下载对应版本的GDAL二进制包重新安装。
- 确认
配置环境变量
- Windows系统:
- 打开「系统属性→高级→环境变量」,在
PYTHONPATH中添加GDAL的python目录绝对路径; - 将GDAL的
bin目录(如C:\Program Files\GDAL\bin)添加到PATH环境变量中,确保_gdal依赖的动态库能被加载。
- 打开「系统属性→高级→环境变量」,在
- Linux/macOS系统:
- 终端执行
export PYTHONPATH=/path/to/gdal/python:$PYTHONPATH(替换为实际路径),临时生效;如需永久生效,将该命令添加到~/.bashrc或~/.zshrc文件中; - 同时设置库路径:Linux执行
export LD_LIBRARY_PATH=/path/to/gdal/lib:$LD_LIBRARY_PATH,macOS执行export DYLD_LIBRARY_PATH=/path/to/gdal/lib:$DYLD_LIBRARY_PATH。
- 终端执行
- Windows系统:
处理虚拟环境问题
若在虚拟环境中运行代码:- 确保GDAL的Python绑定被安装到虚拟环境内;
- 或者在虚拟环境的
site-packages目录下创建gdal.pth文件,写入GDALpython目录的绝对路径,让虚拟环境识别系统安装的GDAL模块。
重新安装Python绑定
若上述方法无效,尝试用pip安装与GDAL二进制版本匹配的Python绑定:- 执行
pip install gdal==3.5.1; - 若pip安装失败,先设置GDAL的头文件和库路径:
- Windows:
set GDAL_INCLUDE=C:\Program Files\GDAL\include、set GDAL_LIBRARY=C:\Program Files\GDAL\lib\gdal_i.lib; - Linux/macOS:
export CPLUS_INCLUDE_PATH=/usr/local/include/gdal、export C_INCLUDE_PATH=/usr/local/include/gdal、export LIBRARY_PATH=/usr/local/lib。
- Windows:
- 执行
内容的提问来源于stack exchange,提问作者Rémy Ntshaykolo
相关产品推荐
相关产品推荐

