西河刘卡车医 发表于 2024-8-18 08:06:10

(已办理)报错:ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: ver

一 前言

情况:ubuntu20.04  python3.9
报错:ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29  not found (required by /home/chanya/anaconda3/envs/paddleseg/lib/python3.9/site-packages/scipy/spatial/_ckdtree.cpython-39-x86_64-linux-gnu.so)
笔者在跑Paddleseg代码的时间出现了这个报错,用了网上更改软链接的方法把电脑给搞崩了,重启无法正常启动体系,没有图形化界面,重装了。然后又循环到了这个错误,不敢再改软链接了,找了网上其他的方法,可行,已办理。
二 报错办理

报错分析:依据报错内容可知,上述报错原因是scipy包运行时调用GLIBCXX找不到符合的版本,也就是当前的GCC对于spicy来说版本太旧,因此需要将其举行版本对应。(注意:无论各位是否是scipy包导致的报错,其原因大抵都差不多,都是某个包与GCC的版本不对应。)
办理方法:
方法(1):降级spicy包
在我的项目代码里检察了requirement.txt,看到需要spicy包但没有规定具体版本(故可以任意降低试试,如果你的包有版本要求的话,需要在满意版本要求的条件下举行降级)。在PyCarm中检察我虚拟情况spicy包的版本为1.12,将其降级到了1.6.0,下载包的下令如下(将scipy换成你报错的包名):
pip install scipy==1.6.0 像下面这样就安装好啦,然后这个报错就办理了。
https://i-blog.csdnimg.cn/blog_migrate/453a5bcf3607e4e080266fccbcc24275.png
另:我再次运行时又报了这样的错误,但是换了一个包sklearn,用同样的方法对sklearn包举行了降级(sklearn包的话下令里名字为scikit-learn),然后就彻底办理这个报错啦!
https://i-blog.csdnimg.cn/blog_migrate/c2b618c14706e5a0daca5013f8d03b8e.png
方法(2):升级GCC包,也就是我之条件到过的更改软链接的方法,该方法需要情况中有较新的GLIBCXX包,我用的不是该方法,可参考:
无root权限办理ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found问题-CSDN博客
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29 ‘not found-CSDN博客
三 总结

1.使用方法一办理报错的时间,报错的两个包分别是scipy和sklearn,我发现这两个包是跟python包有直接关系的,就感觉有可能是因为python3.9版本太高,故降低python版本可能直接可以办理此报错,大家可以试试。
2.对于方法二,我之前照着参考的博客更改了软链接,导致ubuntu体系无法正常启动,所以再次提醒一下大家谨慎使用,当然也有人用这个方法直接乐成的,如果你尝试了确是和我一样无法启动ubuntu体系,开机一个光标闪耀的话,可以试试下面这个方法(这是我后面发现的一篇blog,相知恨晚,我已经重装了)
误删libstdc++.so.6文件导致Ubuntu体系无法正常启动_linux libstdc++.so.文件-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: (已办理)报错:ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: ver