version `GLIBCXX_3.4.29‘ not found解决记录

文章讲述了在服务器上运行Python代码时遇到的ImportError,原因是libstdc++.so.6库版本过低,导致matplotlib无法加载。解决方法是创建新的虚拟环境并排除单独安装matplotlib。
摘要由CSDN通过智能技术生成
ImportError: /opt/ohpc/pub/compiler/gcc/9.4.0/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/matplotlib/_path.cpython-39-x86_64-linux-gnu.so) ^CTraceback (most recent call last): File "/share/home/xiatian/ai_studio/trained_models/FEDformer/run.py", line 5, in from exp.exp_main import Exp_Main File "/share/home/xiatian/ai_studio/trained_models/FEDformer/exp/exp_main.py", line 8, in from data_provider.data_factory import data_provider File "/share/home/xiatian/ai_studio/trained_models/FEDformer/data_provider/data_factory.py", line 1, in from data_provider.data_loader import Dataset_ETT_hour, Dataset_ETT_minute, Dataset_Custom, Dataset_Pred File "/share/home/xiatian/ai_studio/trained_models/FEDformer/data_provider/data_loader.py", line 3, in import pandas as pd File "/share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/pandas/init.py", line 48, in from pandas.core.api import ( File "/share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/pandas/core/api.py", line 48, in from pandas.core.groupby import ( File "/share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/pandas/core/groupby/init.py", line 1, in from pandas.core.groupby.generic import ( File "/share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/pandas/core/groupby/generic.py", line 70, in from pandas.core.frame import DataFrame File "/share/home/xiatian/.conda/envs/FED/lib/python3.9/site-packages/pandas/core/frame.py", line 193, in from pandas.core.series import Series File "", line 1007, in _find_and_load File "", line 986, in _find_and_load_unlocked File "", line 680, in _load_unlocked File "", line 846, in exec_module File "", line 978, in get_code File "", line 647, in _compile_bytecode

问了copilot还有GPT,显示是这个错误是由于环境中的 libstdc++.so.6 库版本过低,而Python 程序需要更高版本的 GLIBCXX(这是 libstdc++.so.6 库中的一个版本),由于是服务器上运行代码,并没有管理员权限。

(FED) [xiatian@login01 FEDformer]$ find / -name libstdc++.so.6 2>/dev/null /usr/lib64/libstdc++.so.6 /opt/ohpc/pub/compiler/gcc/9.4.0/lib64/libstdc++.so.6 /share/home/share/module/perl/x86_64-conda-linux-gnu/lib/libstdc++.so.6 /share/home/share/module/perl/lib/libstdc++.so.6 /share/home/share/module/plink/lib/libstdc++.so.6 /share/home/share/module/torch_cuda11.7/lib/libstdc++.so.6 /share/home/share/module/torch_cpu/lib/libstdc++.so.6 /share/home/share/module/conda/lib/libstdc++.so.6                

最后重新建了一个虚拟环境,不单独安装matplotlib才能跑动代码。

version GLIBCXX_3.4.29 not found是一个错误消息,意味着你的系统中缺少GLIBCXX_3.4.29版本的libstdc++. 这个错误通常在安装某些软件时出现,比如AWVS Acunetix Web Vulnerability Scanner或Anaconda。解决这个问题的方法如下: 1. 首先,你需要找到当前系统中libstdc++.so.6文件的位置和版本。可以使用以下命令来查找: ``` locate libstdc++.so.6 ``` 或者使用以下命令来查看当前系统中libstdc++.so.6文件的版本: ``` strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX ``` 2. 找到对应的GLIBCXX版本后,你可以将该版本的libstdc++.so.6文件复制到指定目录,并创建软链接。假设你需要复制的文件是libstdc++.so.6.0.29,指定目录是/usr/lib/x86_64-linux-gnu/,你可以使用以下命令完成: ``` sudo cp /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/ sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6 sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ``` 注意替换文件路径和版本号为你实际的路径和版本号。 3. 如果在第二步中没有找到所需版本的libstdc++.so.6文件,你可以尝试使用以下命令安装所需的版本: ``` sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-9 sudo apt install libstdc++6 ``` 这将安装gcc-9和libstdc++.6,并提供所需的GLIBCXX版本。 这些方法应该能够解决version GLIBCXX_3.4.29 not found的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值