导入错误:/lib64/libstdc++.so.6:找不到版本“CXXABI_1.3.9”

问题描述 投票:0回答:5

我收到以下错误:

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

但我还是不明白问题出在哪里。任何帮助将不胜感激。

python
5个回答
40
投票

/home/wasiahmad/software/anaconda3/lib/
添加到
LD_LIBRARY_PATH
解决了问题。感谢 Knud Larsen 的评论和提醒,
/lib64/libstdc++.so.6
目前排在
LD_LIBRARY_PATH
的第一位。


28
投票

我完全同意@wasi-ahmad 接受的答案。

更具体地说,输入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wasiahmad/software/anaconda3/lib/

在终端即可解决问题


12
投票

如果您使用 HPC,这对我有用,我认为:

module load gcc/9.2.0

0
投票

对于 C++ 人员:
在编译程序的同一位置运行以下命令

导出 LD_LIBRARY_PATH=../lib_start/:/usr/local/lib:/usr/local/lib64


0
投票

对于 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
© www.soinside.com 2019 - 2024. All rights reserved.