4

我正在使用Anaconda 4.10.3, with Python 3.9.7, Scipy 1.7.1on Ubuntu 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: version 'GLIBCXX_3.4.26' not found

我正在考虑降级 scipy,但是不应该有更好的方法来解决这个问题而不降级吗?

4

1 回答 1

1

我在使用 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

于 2022-03-02T23:53:02.740 回答