赞
踩
根据 Trackback 最后的提示和 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权限,风险小!
GCC,gcc,g++的区别: https://zhuanlan.zhihu.com/p/100050970
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。