python - 使用 Bazel 为 Python 构建 Protocol Buffer

标签 python protocol-buffers grpc bazel

这可能吗? AFAICT 没有内置的 py_proto_library 规则,并尝试使用我自己的 genrule,例如:

genrule(
  name = "my_proto",
  srcs = ["my.proto"],
  outs = ["my_pb2.py", "my_pb2_grpc.py"],
  cmd = "python -m grpc_tools.protoc --python_out=$(@D) --grpc_python_out=$(@D) $<"
)

py_binarydeps中失败,并显示'//:my_proto'没有强制提供程序'py'。

最佳答案

它应该可以像您一样很好地滚动您自己的原型(prototype)文件,您只需将它们添加到 srcs (而不是 deps) py_binary

deps 仅适用于 py_library(您也可以将 .py 包装在 py_library 中,如果您首选,然后让二进制文件依赖于此)。

关于python - 使用 Bazel 为 Python 构建 Protocol Buffer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44172030/

相关文章:

java - 在linux中使用java安装protocol buffers编译器(protoc)时出错

schema - Protocol Buffer 架构无效。导入 "google/protobuf/any.proto"尚未加载 : GCP/Pub-Sub

ios - 双向 gRPC 流有时会在停止和启动后停止处理响应

node.js - 调用 gRPC 服务器不会在 Node 中返回预期数据

python - 不存在这样的表 : Customers

python - 使用适当的十进制数据类型将 django 中的模型序列化为 json

python - 将 Excel 文件转换为 JSON 并排除列

python - 如何在使用 python 的 Linux 中使用 “difflib” 命令获取字符级别差异?

c++ - 在 C++ 中使用 Protobuf 3.2 有困难

go - 同时运行 grpc 和 http 服务器