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

LinuxMint 17.3中Anaconda2 v5.0.1导入scipy报错的解决求助

解决Anaconda2 + Linux Mint17.3下scipy导入的libstdc++版本冲突问题

我来帮你搞定这个困扰你的问题,这其实是老系统搭配较新Anaconda包时很常见的系统库与Anaconda自带库版本冲突问题,咱们一步步来解决:

问题根源分析

你遇到的两次错误本质都是同一个原因:

  • Linux Mint17.3基于Ubuntu14.04,系统默认的libstdc++.so.6版本很低,缺少CXXABI_1.3.9和GLIBCXX_3.4.21这些高版本符号
  • 你升级系统的libstdc++后,Anaconda依然优先加载自己目录下的旧版libstdc++.so.6,导致scipy找不到需要的符号

解决方案(按优先级推荐)

方案1:让Anaconda使用系统更新后的libstdc++(最推荐)

这个方法直接解决库版本不匹配的问题,步骤如下:

  1. 先备份Anaconda自带的旧版libstdc++,避免出问题无法恢复:
    mv /home/dolf/anaconda2/lib/libstdc++.so.6 /home/dolf/anaconda2/lib/libstdc++.so.6.bak
    
  2. 创建软链接,让Anaconda指向你刚升级的系统版libstdc++:
    ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/dolf/anaconda2/lib/libstdc++.so.6
    
  3. 测试是否生效:
    python -c "import scipy.stats; print('导入成功!')"
    

如果没有报错,就说明问题解决了。

方案2:安装适配旧系统的scipy版本

如果方案1因为某些原因不生效(比如其他Anaconda包依赖旧版libstdc++),可以试试安装对libstdc++要求更低的scipy版本:

  1. 先卸载现有scipy:
    conda remove scipy
    
  2. 安装适配Anaconda2和Ubuntu14.04的scipy版本(比如0.19.1):
    conda install scipy=0.19.1
    
    如果conda安装失败,也可以用pip试试:
    pip install scipy==0.19.1 --no-cache-dir
    

方案3:临时设置LD_PRELOAD环境变量

这个方法是临时生效的,适合快速测试:
运行Python前先指定加载系统的libstdc++:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 python

进入Python会话后再尝试导入scipy,这个方法不会修改Anaconda的文件,但每次运行都要加这个前缀,也可以把它加到你的~/.bashrc里长期生效(不推荐,可能影响其他Anaconda包的兼容性)


额外提醒

Linux Mint17.3和Anaconda2都已经停止官方维护了,长期使用的话建议考虑升级到更现代的系统版本(比如Linux Mint 20+)或者切换到Python3的Anaconda/Miniconda环境,这样能避免很多类似的库版本冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:38:56