scipy 不使用 anaconda 的本地库作为 libgcc

vpk*_*vpk 10 python scipy python-3.x libgcc anaconda

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

如错误所示,系统libstcc++.so.6不提供GLIBCXX_3.4.26,我使用它进行了验证

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
Run Code Online (Sandbox Code Playgroud)

然后我运行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
Run Code Online (Sandbox Code Playgroud)

当我在此之后运行脚本时,我仍然收到相同的错误 ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.26' not found

我正在考虑降级 scipy,但是难道没有更好的方法可以在不降级的情况下解决这个问题吗?

use*_*692 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