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

Ubuntu16.04 Anaconda环境Scipy报GLIBCXX_3.4.26缺失错误如何解决

解决方案

你之前的配置未生效的核心原因是:.bashrc仅对交互式bash会话生效,且conda激活环境时会重置动态库查找路径,导致你手动配置的LD_LIBRARY_PATH未被实际加载。以下是无需降级Scipy的可行方案,按优先级推荐:

方案1:调整conda环境配置(最推荐,不修改系统全局配置)

  • 第一步:运行脚本前必须先激活对应conda环境,避免直接调用环境内的Python二进制:
    conda activate work
    python your_script.py
    
  • 第二步:如果激活后仍报错,修复conda环境内的libstdc++软链接:
    # 进入对应conda环境的lib目录
    cd /home/user/anaconda3/envs/work/lib
    # 备份原有软链接
    mv libstdc++.so.6 libstdc++.so.6.bak
    # 软链接到包含目标版本的库文件
    ln -s libstdc++.so.6.0.29 libstdc++.so.6
    
  • 验证:激活环境后执行以下命令,确认输出的libstdc++.so.6路径为conda环境内的路径即可:
    ldd /home/user/anaconda3/envs/work/lib/python3.9/site-packages/scipy/optimize/_group_columns.cpython-39-x86_64-linux-gnu.so | grep libstdc++.so.6
    
    正常输出示例:libstdc++.so.6 => /home/user/anaconda3/envs/work/lib/libstdc++.so.6 (0x00007f8a9c000000)

方案2:临时指定动态库路径(适合单次运行场景)

无需修改任何配置,运行脚本时临时指定动态库查找路径即可:

LD_LIBRARY_PATH=/home/user/anaconda3/envs/work/lib/:$LD_LIBRARY_PATH python your_script.py

方案3:升级系统全局libstdc++版本(适合需要全局生效的场景)

Ubuntu 16.04官方源自带的gcc版本较低,你可以添加工具链PPA升级libstdc++:

# 添加工具链PPA源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
# 升级libstdc++6
sudo apt install -y gcc-9 g++-9
sudo apt upgrade -y libstdc++6

升级完成后执行strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX即可看到包含GLIBCXX_3.4.26版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:15:01