Scipy没有使用Anaconda的本地lib来进行libgcc的操作。

10

我使用的是Anaconda 4.10.3,搭配Python 3.9.7Scipy 1.7.1Ubuntu 16.04.6上。我需要运行一个脚本,其中使用了Scipy的优化功能,但它报错如下:

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.26' not found (required by /home/user/anaconda3/envs/work/lib/python3.9/site-packages/scipy/optimize/_group_columns.cpython-39-x86_64-linux-gnu.so)

根据错误提示,系统中的libstcc++.so.6没有提供GLIBCXX_3.4.26,这一点我已经通过下面的方法进行了验证。

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

然后我运行了 conda install libgcc 并验证了 strings /home/user/anaconda3/envs/work/lib/libstdc++.so.6.0.29 | grep GLIBCXX 显示出了 GLIBCXX_3.4.26。接下来我将以下代码添加到我的 .bashrc 文件,并运行了 source ~/.bashrc

LD_LIBRARY_PATH=/home/user/anaconda3/envs/work/lib/:$LD_LIBRARY_PATH

在此之后运行脚本时,我仍然会得到相同的错误提示:ImportError:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:版本“GLIBCXX_3.4.26”未找到

我想过降级scipy,但难道没有更好的方法可以修复这个问题而不用降级吗?

1个回答

4
我正在使用Anaconda3(4.10.3)、Python 3.7.12和Scipy 1.7.3时遇到了同样的问题。更改我的.bashrc中的PATH和LD_LIBRARY_PATH并没有解决问题。
经过一些搜索,似乎是一个conda依赖性问题: Anaconda libstdc++.so.6: version `GLIBCXX_3.4.20' not found 通过运行 conda update libstdcxx-ng 我成功解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接