栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux解决 ImportError:‘GLIBCXX

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux解决 ImportError:‘GLIBCXX

忙里偷闲,随便写写。

在代码运行的时候可能会出现一下错误:

importError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data10/gaoxl/install/anaconda3/envs/paddle37/lib/python3.7/site-packages/scipy/_lib/_uarray/_uarray.cpython-37m-x86_64-linux-gnu.so)

这是因为Linux系统中,glibc版本较低 ,那怎么解决这个问题呢?

1.首先你需要解决的一件事情是:“用户名不在sudoers中”的问题,这是一开始的拦路虎,因为你会发现,没有这个权限你将无法操作以下的步骤。那怎么解决“用户名不在sudoers中”的问题呢?方法是:

①在终端输入命令:su root    # 先切换到 root 用户

②继续输入命令:gedit /etc/sudoers  # 打开权限文件

③在跳出来的 /etc/sudoers 文件中找到Allow root to run any commands anywhere,在其下方添加命令:

root    ALL=(ALL)    ALL

zjl    ALL=(ALL)   ALL 

④保存退出 root 用户

这样,你就把自己的用户名写进了 sudoers中

2.查找所有gcc动态库,找到anaconda,在终端输入命令:

find / -name "libstdc++.so*"

你会发现没有 GLIBCXX_3.4.21 在输出的结果中找到:

/home/zjl/anaconda3/lib/libstdc++.so.6
/home/zjl/anaconda3/lib/libstdc++.so.6.0.28
/home/zjl/anaconda3/lib/libstdc++.so

将上面的最新动态库libstdc++.so.6.0.28复制到/usr/lib64目录下: 

sudo cp /home/zjl/anaconda3/lib/libstdc++.so.6.0.28 /usr/lib64/

进入目录/usr/lib64 

cd /usr/lib64
ll | grep libstdc

备份,输入命令:

sudo mv libstdc++.so.6 libstdc++.so.6.bak

 创建新的软连接,指向刚拷贝的库:

sudo ln -s libstdc++.so.6.0.28 libstdc++.so.6

重新运行检查动态库的命令:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

 大功告成!!

注意:Linux如何建立和删除软连接呢?

建立:ln -s 源文件 目标文件

例如:ln -s libstdc++.so.6.0.28  libstdc++.so.6

删除:rm -rf 目标文件

例如:rm -rf  libstdc++.so.6

如果是:rm -rf 源文件/ 会把整个目录都删了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/756970.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号