
无需sudo快速解决 libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found 的报错问题
无需sudo权限快速解决 GLIBCXX_3.4.29 not found 的问题
·
报错截图:
分析:
根据 Traceback 最后的提示和 ImportError 的信息(如上图红框所示),发现是 google.protobuf.pyext 这个包引起的报错。
原因:
anaconda 中 protobuf 包所依赖的 g++ 编译器中 libstdc++.so 文件的版本没被满足。
解决:
很多博客的方法是安装新版本的 g++,或者在系统中查找包含所缺少的 GLIBCXX 的高版本 libstdc++.so 文件并将 so 的链接指向该文件。但这些方法操作复杂,需要sudo权限,且操作不当容易改崩系统。
快速有效的方法:不改变libstdc++.so 文件,而是降低报错包 protobuf 的版本。 (大家根据自己的报错信息确认要改动版本的包)
我的环境中 protobuf 的版本原来是3.20.3,改为3.20.0后问题解决。
pip uninstall protobuf
pip install protobuf==3.20.0
优势:
简单,不用sudo权限,风险小!
更多推荐
所有评论(0)