Mac系统下Python 3.6无法通过pip安装GDAL的求助
解决Mac上Python3.6 pip安装GDAL失败的方案
我明白你在Mac上给Python3.6装GDAL时遇到的头疼问题——Python2.7那边顺顺利利,到3.6就一堆clang报错,甚至重装了Homebrew的GDAL也没搞定。我之前帮不少人解决过类似的问题,给你几个针对性的方案试试:
方案1:严格匹配GDAL版本(最常见的解决办法)
pip安装GDAL时最容易踩的坑就是版本不兼容:Homebrew装的GDAL版本和pip要拉的Python绑定包版本必须完全一致。
- 先查Homebrew安装的GDAL具体版本:
输出里会显示类似brew info gdalgdal: 3.0.4这样的版本号 - 用pip3指定对应版本安装:
哪怕小版本差一位(比如3.0.3 vs 3.0.4)都可能导致编译失败,一定要完全匹配。pip3 install gdal==3.0.4 # 把这里的版本号换成你查到的brew版本
方案2:手动指定GDAL的头文件和库路径
有时候pip找不到Homebrew安装的GDAL位置,需要手动告诉它编译时的依赖路径:
- 先确认你的GDAL安装路径:
- Intel芯片Mac:一般是
/usr/local/opt/gdal - M系列芯片Mac:一般是
/opt/homebrew/opt/gdal
- Intel芯片Mac:一般是
- 运行以下命令设置环境变量并安装:
# Intel Mac export CPLUS_INCLUDE_PATH=/usr/local/opt/gdal/include export C_INCLUDE_PATH=/usr/local/opt/gdal/include export LIBRARY_PATH=/usr/local/opt/gdal/lib pip3 install gdal # M系列Mac(把上面的路径换成下面的) export CPLUS_INCLUDE_PATH=/opt/homebrew/opt/gdal/include export C_INCLUDE_PATH=/opt/homebrew/opt/gdal/include export LIBRARY_PATH=/opt/homebrew/opt/gdal/lib pip3 install gdal
方案3:用conda安装(避开编译问题)
如果你的Python3.6是用conda管理的,直接用conda装预编译的GDAL包会省心很多,不用自己编译:
- 先激活你的Python3.6环境(如果没有可以先创建一个):
conda activate your_py36_env # 换成你的环境名 - 从conda-forge源安装:
conda-forge的源支持老版本Python,能找到适配3.6的GDAL包。conda install -c conda-forge gdal
方案4:用pyenv管理Python3.6(避免系统Python冲突)
如果你的Python3.6是Mac系统自带的,可能会有路径或权限问题,建议用pyenv重新安装一个干净的Python3.6:
- 先安装pyenv:
brew install pyenv - 安装Python3.6的最新小版本(比如3.6.15,是3.6系列的最后一个稳定版):
pyenv install 3.6.15 - 在当前目录设置使用这个Python版本:
pyenv local 3.6.15 - 之后再用方案1或方案2尝试安装GDAL。
额外注意事项
- 安装前先清理之前的失败残留:
pip3 uninstall -y gdal pip3 cache purge - 确保Xcode Command Line Tools是最新的,clang报错很多时候是因为工具老旧:
xcode-select --install
内容的提问来源于stack exchange,提问作者J.Hammond
相关产品推荐
相关产品推荐

