Mac环境下如何修复Protobuf编译器与Python运行时版本不匹配警告?
修复Protobuf编译器与Python运行时版本不匹配的警告
你遇到的警告是因为用5.29.3版本的protoc编译器生成的代码,和6.31.1版本的Python protobuf运行时库跨了一个大版本(5.x vs 6.x),官方提示这种情况后续版本可能出现兼容性问题,以下两种方案可以解决:
方案一:升级编译器到6.x版本(推荐)
Homebrew默认提供的protobuf是5.x分支,你可以安装6.x的指定版本:
- 安装6.x版本的protobuf:
brew install protobuf@6 - 把6.x版本的protoc加入系统路径(以zsh为例,bash用户替换为
~/.bash_profile):echo 'export PATH="/usr/local/opt/protobuf@6/bin:$PATH"' >> ~/.zshrc source ~/.zshrc - 验证版本:
protoc --version - 重新编译你的
reward.proto文件,生成的代码就会和6.x运行时版本匹配,警告消失。
方案二:降级Python运行时到5.x版本
如果暂时不想升级编译器,可以把Python的protobuf库降级到和编译器一致的版本:
pip install protobuf==5.29.3
降级后版本完全匹配,警告也会消失。
内容的提问来源于stack exchange,提问作者Hugues Hou
相关产品推荐
相关产品推荐

