首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Anaconda ImportError: /usr/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.21

Anaconda ImportError: /usr/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.21
EN

Stack Overflow用户
提问于 2019-10-17 12:34:49
回答 3查看 8K关注 0票数 6

当我试图在conda环境中运行python脚本时,我得到了以下导入错误

代码语言:javascript
复制
(squad) azada@scholar-fe00:~/Desktop/Toy-Problem-Team-2 $ python3 train.py 
Traceback (most recent call last):
  File "train.py", line 21, in <module>
    from tensorboardX import SummaryWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/__init__.py", line 5, in <module>
    from .torchvis import TorchVis
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/torchvis.py", line 11, in <module>
    from .writer import SummaryWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/writer.py", line 15, in <module>
    from .event_file_writer import EventFileWriter
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/event_file_writer.py", line 28, in <module>
    from .proto import event_pb2
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/tensorboardX/proto/event_pb2.py", line 7, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /home/azada/miniconda3/envs/squad/lib/python3.6/site-packages/google/protobuf/pyext/_message.cpython-36m-x86_64-linux-gnu.so)

编写strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX命令会产生以下输出

代码语言:javascript
复制
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

如您所见,所需的libgcc版本不存在。但是我不能理解为什么python要在usr目录中寻找GLIBCXX?

在我的anaconda环境的libstdc++.so.6上运行相同的命令,可以看到文件中存在所需的版本。

我使用的是我的大学的学者集群,所以我没有管理权限。

有没有办法让python使用我的conda环境中的ligstdc++而不是usr目录中的usr?

EN

回答 3

Stack Overflow用户

发布于 2019-10-17 12:40:14

通过降级到libgcc==5.2.0来解决它

最初,尝试使用pip进行安装,但如果出现错误:无法下载并编译igraph的C核心.. install it by conda

票数 3
EN

Stack Overflow用户

发布于 2022-02-18 00:46:37

我花了一天的时间来解决这个问题,在我的研究型大学的计算集群上遇到了和你一样的问题,我终于找到了正确的Stack Overflow thread。不幸的是,上面的答案都不起作用,但我可以非常自信地说,尽管错误回溯的来源不同,但链接线程中的细节应该可以解决您的问题。

总而言之,您需要将anacondalib文件夹的路径添加到LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/path/to/conda/env/lib

在我的例子中,我只是做了export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/anaconda3/lib

...and它的效果就像一个护身符!

票数 2
EN

Stack Overflow用户

发布于 2021-10-19 18:43:46

运行这段代码,你的问题就应该解决了。

代码语言:javascript
复制
conda install -c conda-forge gcc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58424974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档