首先使用 Python 的原因之一是快速编辑刷新周期,无需交错构建步骤。目前protobuf的实现方式打破了Python语言的这一优势。 Python 有一个非常强大的可以扩展的模块导入系统(参见importlib)。
因此,我想请求对 Python 实现进行更改,以便可以导入存在相应.proto 文件但不存在此类 *.py 文件的 _pb2 模块,并使用 protobuf 实现在运行时动态生成 Python 类在导入库中(当然,智能地缓存它,以便该策略在生产环境中仍然可行且高效)。
注意:这是gRPC 中类似功能请求的依赖项。 (此外,正因为如此,这样的运行时生成机制还需要支持 gRPC 等系统的某种插件机制,以扩展生成的 Python 代码)。