You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions Ubuntu虚拟环境安装GDAL报错问题求助

故障原因
  • 核心问题:版本不匹配。ubuntu-latest(当前为Ubuntu 22.04)官方源内置的libgdal-dev版本为3.4.1,你指定安装的Python GDAL包版本为3.2.3,两者版本不一致导致编译时无法找到对应版本的符号与头文件,触发gcc编译错误。
  • 次要问题:缺少Python编译基础依赖,且未配置GDAL相关环境变量,pip编译时无法识别系统安装的GDAL路径。
修复方案

方案1:自动适配系统GDAL版本(推荐,无需硬编码版本号)

修改Install dependencies步骤代码如下:

- name: Install dependencies
  run: |
    python -m pip install --upgrade pip
    # 安装基础编译依赖
    sudo apt-get update
    sudo apt-get install -y build-essential python3-dev libproj-dev proj-data proj-bin libgeos-dev gdal-bin libgdal-dev libgdal-doc
    # 配置GDAL环境变量
    export CPLUS_INCLUDE_PATH=/usr/include/gdal
    export C_INCLUDE_PATH=/usr/include/gdal
    pip install wheel
    pip install flake8 pytest Cython numpy proj geos
    # 自动获取系统GDAL版本,安装对应Python包
    GDAL_VERSION=$(gdal-config --version | awk -F'[.]' '{print $1"."$2"."$3}')
    pip install GDAL==$GDAL_VERSION
    if [ -f requirements-linux.txt ]; then pip install -r requirements-linux.txt; fi

方案2:固定使用GDAL 3.2.3

如果你必须使用3.2.3版本的GDAL,添加对应版本的GIS软件源后再安装即可:

- name: Install dependencies
  run: |
    python -m pip install --upgrade pip
    # 添加适配Ubuntu的GDAL 3.2.x软件源
    sudo add-apt-repository ppa:ubuntugis/ppa
    sudo apt-get update
    sudo apt-get install -y build-essential python3-dev libproj-dev proj-data proj-bin libgeos-dev gdal-bin=3.2.3+dfsg-2~focal2 libgdal-dev=3.2.3+dfsg-2~focal2 libgdal-doc=3.2.3+dfsg-2~focal2
    # 锁定版本防止自动升级
    sudo apt-mark hold libgdal-dev gdal-bin
    export CPLUS_INCLUDE_PATH=/usr/include/gdal
    export C_INCLUDE_PATH=/usr/include/gdal
    pip install wheel
    pip install flake8 pytest Cython numpy proj geos GDAL==3.2.3
    if [ -f requirements-linux.txt ]; then pip install -r requirements-linux.txt; fi

内容的提问来源于stack exchange,提问作者Zach Tait

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 05:33:03