我收到以下错误:
ImportError:/lib64/libstdc++.so.6:找不到版本“CXXABI_1.3.9”(/home/wasiahmad/software/anaconda3/lib/python3.6/site-packages/matplotlib/_path.cpython-36m-需要) x86_64-linux-gnu.so)
在这一行:
import matplotlib.pyplot as plt
我访问了 Github 和 StackOverflow 中报告的问题并进行了跟踪,但仍然无法解决问题。
检查的解决方案:
我已检查文件:
libstdc++.so.6
位于/home/wasiahmad/software/anaconda3/lib/
,并且我运行了以下命令:
$ strings ~/software/anaconda3/lib/libstdc++.so.6 | grep CXXABI_1.3.9
它返回
CXXABI_1.3.9
。
但我还是不明白问题出在哪里。任何帮助将不胜感激。
将
/home/wasiahmad/software/anaconda3/lib/
添加到 LD_LIBRARY_PATH
解决了问题。感谢 Knud Larsen 的评论和提醒,/lib64/libstdc++.so.6
目前排在 LD_LIBRARY_PATH
的第一位。
我完全同意@wasi-ahmad 接受的答案。
更具体地说,输入
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wasiahmad/software/anaconda3/lib/
在终端即可解决问题
如果您使用 HPC,这对我有用,我认为:
module load gcc/9.2.0
对于 C++ 人员:
在编译程序的同一位置运行以下命令
导出 LD_LIBRARY_PATH=../lib_start/:/usr/local/lib:/usr/local/lib64
对于 HPC 集群,我可以通过在脚本开头添加以下行来解决这个问题:
module load gcc/13.1.0
在哪里检查 gcc 的版本,您可以使用类似于以下的命令:
module avail | grep gcc
另外,因为我在我的一个包中制作了一些自定义包装器,并另外添加了以下内容,使 python 脚本运行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/conda_envs/my_env/lib