运行TensorFlow代码报ImportError无法从google.protobuf导入descriptor如何解决
报错原因
这个报错是protobuf与TensorFlow版本不兼容导致的:
- 4.0及以上版本的protobuf移除了
google.protobuf.descriptor的旧调用路径,而你当前使用的TensorFlow版本是基于3.x版本protobuf开发的,调用对应模块时匹配失败就会抛出该导入错误。
解决方法
- 第一步:先卸载当前环境中安装的protobuf
pip uninstall protobuf -y
- 第二步:安装经过验证的兼容版本,优先选择3.20.x系列稳定版
pip install protobuf==3.20.3
- 如果你使用的是TensorFlow 2.11及更高版本,也可以安装3.19.x~4.21.x区间的protobuf版本,避免和其他依赖包产生冲突。
- 如果操作后仍存在报错,可以同步升级TensorFlow到官方最新稳定版,彻底解决版本匹配问题:
pip install --upgrade tensorflow
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

