- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
要为 Python 编译 proto 文件,我可以
protoc -I=.--python_out=$DST_DIR sommem.proto
基于
https://developers.google.com/protocol-buffers/docs/pythontutorial
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. some.proto
基于
https://grpc.io/docs/languages/python/basics/#generating-client-and-server-code
protoc
和有什么区别和
python -m grpc_tools.protoc
,生成python更推荐哪一个
*_pb2.py[i]
文件?
protoc
不支持
--grpc_python_out
.
最佳答案
protoc
只包含 Protocol Buffer 的逻辑。也就是说,它将为许多语言生成序列化/反序列化代码。但是,默认情况下它不会为 stub 和服务器生成代码。这留给了通过称为 protoc 插件的系统来分离 RPC 系统。
Protoc plugins提供一个简单的接口(interface),可执行文件通过它在 stdin 上获取 Protocol Buffer 的描述,并在 stdout 上输出相应的生成代码。在 Google 内部,该系统用于为 Stubby 生成代码。在外部,它用于为 gRPC(或任何其他想要使用 Protocol Buffer 的 RPC 系统)生成代码。
插件可以为自己注册一个命令行标志,以指示 protoc 应该在哪里输出生成的代码。所以,在你上面的例子中,--python_out
指示生成的序列化/反序列化代码应该去哪里,而 --grpc_python_out
是 gRPC Python 代码生成器注册的标志,指示 Python stub 和服务器代码应放置在文件系统上的哪个位置。
grpc_tools
is a C extension捆绑两者 protoc
和 gRPC Python protoc 插件一起使用,这样用户就不必处理下载 protoc
,下载 gRPC Python 代码生成器,并设置必要的配置以使它们正常工作。但是,理论上,您应该能够将所有这些部分组合在一起,使它们像 grpc_tools
一样工作。 (虽然我没试过)。
关于grpc - `protoc` 和 `python -m grpc_tools.protoc` 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62649353/
我一直在尝试使用 protoc cli 实用程序对字符串进行编码。 注意到输出仍然包含纯文本。 我究竟做错了什么? osboxes@osboxes:~/proto/bin$ cat ./teststr
要为 Python 编译 proto 文件,我可以 protoc -I=.--python_out=$DST_DIR sommem.proto 基于 https://developers.google
如何查看protoc-gen-go和protoc-gen-validate的版本? protoc-gen-go --version protoc-gen-validate --version 我试过上
我们使用的是 protoc-gen-go v2(v2 是 google.golang.org/protobuf,v1 是 github.com/golang/protobuf) 当我们尝试编译 gRP
我正在尝试用 C++ 生成 Google Assistant 库。 我已经使用 protoc 编译器编译了 embedded_assistant.proto 文件,并获得了用于库的 embedded_
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
我想使用来自 protoc-gen-grpc-kotlin 的 protoc-gen-grpc-kotlin-1.0.0我得到了 Execution failed for task ':generat
我只是想使用 Protocol Buffer 为 golang 生成代码。但是无法使用 protoc 命令生成服务。 syntax = "proto3"; package greet; option
我正在尝试构建一个自定义协议(protocol)插件来从 .proto 文件生成自定义输出。我从 protoc custom plugin 复制了包含 CodeGenerator 的 java 文件作
protoc-gen-doc 自定义模板规则详解 配套演示工程 此项目中所用 proto 文件位于 ./proto 目录下,来源于 官方proto示例 此项目中所列所有
我正在尝试运行: protoc *.proto -python_out=. 在 tensorflow > models > research > object_detection > protos 内
我想使用 protoc生成java文件的命令 我一直在遵循来自 github https://github.com/protocolbuffers/protobuf 的自述文件中的说明但它只是告诉您下
我想实现dart-protobuf,但是dart-protoc-plugin(从proto定义生成Dart protobuf库的项目)当前不支持Windows。我找不到该插件的替代品。没有其他方法可以
问题: 我在根目录中有 2 个文件。 我使用 Makefile 从 .proto 文件生成 Go 代码。 但是 Video 结构中的语言字段是一个值,而不是指向该值的指针。 Video 结构中的 su
我正在尝试在 How to write a custom Protobuf CodeGenerator in Java 制作工作示例。当我尝试使用编译文件时 import com.google.pro
当我运行这个时: protoc --python_out=. .\object_detection\protos\anchor_generator.proto 在命令行上的 tensorflow 对象
我正在尝试开发一个插件,以便自动生成特定于我的应用程序的代码。虽然一个可能更简单的策略是让我的代码使用由 c++ 插件生成的文件,但我正在尝试从头开始编写插件。 正如我添加到我的包中的文档中所解释的那
描述 我想用java调用golang grpc,我用老golang的consumer_proto.proto来生成java代码 过程 protoc --java_out=/home/xxx/src/
我正在开发一个应用程序,该应用程序必须针对使用 google protocol buffers 3.0.0 版的目标进行交叉编译。有没有办法在 protoc 命令(或 .proto 文件)中指定生成的
即使每个 python grpc 快速入门引用都使用 grpc_tools.protoc生成实现proto文件的python类,the closest thing to documentation t
我是一名优秀的程序员,十分优秀!