【Python】 ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found

【问题描述】

这里有一台Linux机器,我在这上面安装了Anaconda和TensorFlow,结果就在导入TensorFlow测试的时候发生了如下的问题:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/root/anaconda3/lib/python3.6/site-packages/tensorflow/__init__.py", line 22, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "/root/anaconda3/lib/python3.6/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/root/anaconda3/lib/python3.6/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/root/anaconda3/lib/python3.6/site-packages/google/protobuf/descriptor.py", line 48, in <module>
    from google.protobuf.pyext import _message
ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /root/anaconda3/lib/python3.6/site-packages/google/protobuf/pyext/_message.cpython-36m-x86_64-linux-gnu.so)

然后我就像大多数人一样去网上搜这个错误,但是搜到的内容千篇一律,并没有解决我的问题,可能他们的解决办法并不适用于我的这个场景,好在他们的做法给了我一定的启发,遂列出我的解决办法,以供大家参考,当然我的这个解决办法也不一定适用于其他人的场景。

【解决办法】

1、首先我查看了下/lib64/libstdc++.so.6这个文件中关于GLIBCXX的信息:

strings /lib64/libstdc++.so.6 | grep GLIBCXX

很显然,确实没有GLIBCXX_3.4.21。

2、搜索anaconda中的libstdc++.so.6相关的信息

果然有,咱们替换一下这个文件不就行了吗,于是便有了下面的操作。

3、拷贝文件到lib64目录,并重新设置软链接

cp /root/anaconda3/lib/libstdc++.so.6.0.26 /lib64/
rm -rf /lib64/libstdc++.so.6
ln -s /lib64/libstdc++.so.6.0.26 /lib64/libstdc++.so.6

4、再次测试一下

OK~错误被完美解决。你们在此过程中遇到了哪些问题,欢迎留言,让我看看你们都遇到了哪些问题~

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论
该错误提示表明在安装飞浆模块后,发生了一个导入错误。具体错误是/lib64/libstdc.so.6库的版本不符合要求,需要GLIBCXX_3.4.20版本,但当前系统中没有找到这个版本的库。 为了解决这个问题,我们可以通过以下两个步骤来解决: 1. 首先,我们需要查看系统中GLIBCXX的版本信息。可以使用命令行输入以下命令:`strings /usr/lib64/libstdc.so.6 | grep GLIBCXX`。这个命令会列出libstdc.so.6库中包含的GLIBCXX版本信息。 2. 其次,我们可以通过查看软连接来确认系统中libstdc.so.6指向的版本。使用命令行输入以下命令来查看软连接:`ls -l /usr/lib64/libstdc.so.6`。这个命令会显示libstdc.so.6的软连接信息,其中包括指向的具体版本文件。 根据以上信息,可以判断如果当前系统中没有GLIBCXX_3.4.20版本的库,那么可能需要更新或者安装新的版本。你可以尝试升级libstdc++库来满足飞浆模块对GLIBCXX_3.4.20版本的要求。具体的升级步骤可能因系统不同而有所差异,你可以根据自己的系统文档或者搜索引擎来查找相关的升级方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [libstdc++.so.6.0.25](https://download.csdn.net/download/qq_39619888/87474616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [conda环境下“/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found”问题解决](https://blog.csdn.net/lsb2002/article/details/131456857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

象在舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值