有没有办法在Python 3.x中访问Protocol Buffers?

26 投票
6 回答
15213 浏览
提问于 2025-04-17 09:11

我们在项目中使用的是Python 3.x版本。但是,官方的Protocol Buffers客户端只支持Python 2.x版本。

我不想把Python降级到2.x版本。

6 个回答

6

最新版本的Google Protocol Buffers(2.6)增加了对Python 3的支持。我建议你使用这个版本。

补充:算了,他们在发布说明里说的不是真的。

7

这是一个更新版的protobuf(2.5.0 + arm64补丁),目前支持Python 3,同时也能兼容Python 2.4。你可以在这里找到它:https://github.com/GreatFruitOmsk/protobuf-py3

9

更新 2: 从版本 3.0.0 开始,Python 3.x 得到了原生支持。

你可以在 GitHub 上查看发布的版本,链接在这里: https://github.com/protocolbuffers/protobuf/releases

更新: 稳定版的 protobuf,版本 2.6.1,不支持 Python 3.x。不过,更新的 3.0.0 版本(仍在测试阶段)支持 Python 3.x。你可以在 PyPi 上查看发布的版本,链接在这里: https://pypi.python.org/pypi/protobuf

不,没有。关于 Python 3.X 支持的讨论可以在 protobuf 的 Google 组找到。讨论中提到,谷歌希望继续支持 Python 2.4,所以迁移到 Python 3.X 并不简单。如果这个项目能够分支或者放弃对 Python 2.4 和 2.5 的支持,那么迁移就会容易很多。

撰写回答