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

CentOS7运行TensorFlow脚本报错:libstdc++.so.6缺失CXXABI_1.3.9版本

解决CentOS 7下TensorFlow报错libstdc++.so.6: version CXXABI_1.3.9' not found的问题

我之前在CentOS 7上跑TensorFlow脚本时也碰到过一模一样的问题——之前好好的突然报错,查了一堆Ubuntu的解决方案完全不适用,折腾了好一阵子才搞定,分享几个亲测有效的办法:

问题根源

CentOS 7自带的libstdc++.so.6版本偏老,默认不支持CXXABI_1.3.9;而你的Anaconda环境虽然装了7.2.0版本的libgcc,但系统大概率优先调用了系统自带的旧库,导致版本不匹配。


方法一:替换系统软链接(一劳永逸)

这个方法直接让系统优先使用Anaconda环境里的新版库,适合长期使用:

  1. 先确认系统当前支持的CXXABI版本,运行命令:

    strings /usr/lib64/libstdc++.so.6 | grep CXXABI
    

    你会发现输出里没有CXXABI_1.3.9,这就是问题所在。

  2. 找到你的Anaconda环境中新版libstdc++.so.6的路径,比如你的Anaconda安装在/home/xxx/anaconda3,TensorFlow所在的环境名叫tf_env,路径就是:

    /home/xxx/anaconda3/envs/tf_env/lib/libstdc++.so.6
    

    (可以用find /home/xxx/anaconda3 -name "libstdc++.so.6"命令查找)

  3. 备份系统原有的库文件,防止出问题:

    sudo cp /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
    
  4. 创建新的软链接指向Anaconda里的新版库:

    sudo ln -sf /home/xxx/anaconda3/envs/tf_env/lib/libstdc++.so.6 /usr/lib64/libstdc++.so.6
    
  5. 再次验证版本,运行第一步的命令,现在应该能看到CXXABI_1.3.9了,重启PyCharm再跑脚本就正常了。


方法二:临时指定库加载路径(不修改系统)

如果不想动系统文件,可以在运行脚本时指定优先加载Anaconda环境的库:

  • PyCharm中设置:
    打开Run Configuration,找到「Environment Variables」,添加一条变量:

    LD_LIBRARY_PATH=/home/xxx/anaconda3/envs/tf_env/lib:$LD_LIBRARY_PATH
    

    保存后再运行脚本即可。

  • 终端运行脚本:
    先执行以下命令设置环境变量,再运行脚本:

    export LD_LIBRARY_PATH=/home/xxx/anaconda3/envs/tf_env/lib:$LD_LIBRARY_PATH
    python your_script.py
    

注意事项

  • 如果后续Anaconda环境被删除或更新,记得重新检查软链接是否有效,失效的话用备份恢复再重新设置。
  • 替换系统软链接有一定风险,操作前一定要做好备份,万一出现系统异常,用sudo cp /usr/lib64/libstdc++.so.6.bak /usr/lib64/libstdc++.so.6就能恢复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:38:49