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

Ubuntu22.04下Miniconda虚拟环境GLIBCXX_3.4.30缺失问题求助

解决Ubuntu22.04下Miniconda Python3.6环境GDAL依赖GLIBCXX_3.4.30缺失问题

问题根源

Ubuntu22.04系统自带的libstdc++.so.6包含GLIBCXX_3.4.30版本,但Miniconda的Python3.6旧虚拟环境中自带的libstdc++版本较低,导致GDAL调用时找不到所需的版本符号。

解决方案

方案一:让虚拟环境优先使用系统的libstdc++

  • 激活目标虚拟环境:
    conda activate python3.6
    
  • 备份环境内的旧libstdc++文件:
    mv $CONDA_PREFIX/lib/libstdc++.so.6 $CONDA_PREFIX/lib/libstdc++.so.6.bak
    
  • 创建软链接指向系统的高版本libstdc++:
    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 $CONDA_PREFIX/lib/libstdc++.so.6
    
  • 验证是否包含所需版本:
    strings $CONDA_PREFIX/lib/libstdc++.so.6 | grep GLIBCXX_3.4.30
    
    若输出GLIBCXX_3.4.30则说明生效。

方案二:更新虚拟环境内的libstdc++

直接通过conda-forge安装高版本的libstdc++库:

conda activate python3.6
conda install -c conda-forge libstdcxx-ng

该命令会替换环境内的旧libstdc++,使其支持GLIBCXX_3.4.30。

方案三:使用conda安装GDAL(避免依赖系统库)

如果系统GDAL和虚拟环境存在冲突,可完全使用conda生态的GDAL:

  1. 卸载系统端的GDAL依赖:
    sudo apt remove --purge libgdal-dev libgdal30
    
  2. 激活虚拟环境后安装conda版GDAL:
    conda activate python3.6
    conda install -c conda-forge gdal
    
  3. 若需要Python绑定包,安装与GDAL版本匹配的gdal:
    pip install gdal==$(gdal-config --version)
    

注意事项

  • 操作前建议克隆备份虚拟环境,防止意外:
    conda create --name python3.6_backup --clone python3.6
    
  • Python3.6已停止维护,conda-forge上部分包的支持可能受限,若安装时出现版本冲突,可尝试指定GDAL的兼容版本(如conda install -c conda-forge gdal=3.4)。

内容的提问来源于stack exchange,提问作者Ahmad Raja

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 20:40:01