问题标签 [protoc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
protocol-buffers - 导入另一个 proto 文件时出错
当我尝试编译 proto 文件以转换为 .java 时出现错误。
你能指出我错过了什么吗?
有效载荷.proto
BackendCommunicationService.proto
python - tensorflow Protobuf 编译问题
我想为谷歌对象检测 API 编译 protobuf 库。我按照官方教程输入了protoc object_detection/protos/*.proto --python_out=.
. 然后我得到的是“object_detection/protos/*.proto: Invalid argument”。谁能告诉我该怎么办?谢谢!
python - Protobuf 编译问题
我一直在尝试运行 TensorFlow 库,为此我必须编译 Protobuf 库。我正在使用以下命令:
出现以下错误:
可运行的程序或批处理文件。
我不确定这里有什么问题。我正在从 TensorFlow 模型目录中运行它,但它仍然无法识别 protoc。
python - Protocol Buffer 导入解析
在阅读这个相当长的问题之前,我提出了一个错误https://github.com/GoogleCloudPlatform/python-docs-samples/issues/1103。
Proto Packages and Name Resolution的文档说明
您可以通过导入其他 .proto 文件中的定义来使用它们。要导入另一个 .proto 的定义,您需要在文件顶部添加一个 import 语句。
我example.proto
依赖annotations.proto将HTTP/JSON 转码为 gRPC。这是一个简单的示例,但请注意我使用来自googleapis/google/api Git存储库的导入路径(即google/api/annotations.proto
):
注意,annotations.proto依赖于http.proto - 它们是同一个包中的兄弟姐妹(googleapis/google/api)
我的本地项目目录包含三个 .proto 文件:
example.proto
google/api/annotations.proto
google/api/http.proto
...或作为一棵树:
目标(或“out”)目录也被添加,准备接收生成的 python 文件:
我完整的项目目录结构是:
example.proto
google/api/annotations.proto
google/api/http.proto
generated_pb2/google/api
...或作为一棵树:
有了这个,我可以编译我的原型(为可读性添加了格式):
打破这个:
generated_pb2
- 生成的 python 文件和 gprc 文件的目的地。~/protoc/include/google/protobuf
- 由于annotations.proto取决于google/protobuf/descriptor.proto,因此需要使用 protoc 二进制文件附带的常见 protos 的位置。google/api
- 位置annotations.proto
和http.proto
这编译example.proto
给:
generated_pb2/example_pb2.py
generated_pb2/example_pb2_gprc.py
但是,第一行generated_pb2/example_pb2.py
导入生成的文件annotations.proto
:
该文件不存在。没问题,我annotations.proto
单独编译:
打破这个:
generated_pb2/google/api
- 生成的 python 文件和 gprc 文件的目的地。~/protoc/include/google/protobuf
- 由于annotations.proto取决于google/protobuf/descriptor.proto,因此需要使用 protoc 二进制文件附带的常见 protos 的位置。google/api
-http.proto
取决于哪个位置annotations.proto
。
不幸的是,此时我收到一个错误:
我想这是因为annotations.proto
寻找http.proto
in google/api
:
然而,目前尚不清楚如何解决这种依赖关系。 protoc --help
记录-I
标志:
如何解决取决于http.proto
哪个annotations.proto
?
c++ - 32 位 docker 映像 - 编译后的二进制文件显示为 64 位
我正在尝试创建一个 32 位的 docker 镜像,上面有 Googles gRPC。
我创建了 Dockerfile 扩展自:
我能够同时编译 gRPC 和 Proto Buffers,但是,当我尝试使用 protoc 时,我得到了bash: /usr/local/bin/protoc: No such file or directory
.
当我运行时file
,我看到程序集被视为 64 位。
因此,我的问题是如何编写和构建一个实际上是 32 位的 docker 映像。当我运行uname -m
或arch
在容器中运行时,我得到了x86_64
,但dpkg --print-architecture
显示i386
它看起来实际上不是 32 位图像。
python - protoc object_detection/protos/*.proto: 没有这样的文件或目录
我正在按照此处找到的示例进行操作。但是每当我输入命令“C:/Program Files/protoc/bin/protoc”object_detection/protos/ .proto --python_out=。我收到一条错误消息,提示 object_detection/protos/ .proto: No such file or directory。我无法创建名为 *.proto 的目录。所以我错过了一些关于如何做到这一点的基本信息。因为我找不到其他人抱怨这个问题,所以它一定很简单。我正在使用 Windows 操作系统。
docker - GCP Docker 错误:文件不在使用 --proto_path (或 -I)指定的任何路径中
我们正在尝试在 GCP 上托管 tensorflow 对象检测模型。我们在运行“ gcloud app deploy ”之前维护了以下目录结构。为方便起见,我附上了问题的配置文件。我们正在收到下面提到的部署错误。请提出解决方案。
- +根
- +object_detection/
- +苗条/
- +环境
- +app.yaml
- +Dockerfile
- +requirement.txt
- +index.html
- +test.py
Dockerfile
需求.txt
应用程序.yaml
毕竟,我正在使用gcloud init建立谷歌云环境, 然后启动命令gcloud app deploy
部署解决方案时出现以下错误。
错误:
有一个目录“object_detection/protos”,所有必要的文件都在那里。仍然收到部署错误。请建议在 dockerfile 中更改何处以成功部署它。
我的假设: GCP 无法找出 protc 文件的路径。可能我必须更改 Docketfile 中的某些内容。但无法弄清楚解决方案。请回答。
注意:此设置在本地机器上运行良好。但不能在 GCP 中工作
dataflow - apache beam(dataflow2)在使用protoc3.4时没有使用正确的ProtoCoder
我正在迁移到 dataflow2 以及 proto compiler3.4。
当我用这个叶子嵌套原型时,我没有在原型对象上得到 Coder.NonDeterministicException:
它抱怨java对象不是确定性可序列化的。但它不应该使用java序列化,它应该是proto序列化。
当我添加它时,它可以工作: pipeline.getCoderRegistry().registerCoderForClass(NodeId.class, ProtoCoder.of(NodeId.class));
GeneratedMessage
不使用新的 proto 编译器调用 GeneratedMessage。现在它被称为GeneratedMessageV3
. 并且 GeneratedMessageV3 没有扩展 GeneratedMessage。
因此,可能需要升级默认编码器注册表以添加 GeneratedMessageV3 的 proto 编码器
build - 构建 caffe,错误链接 google::protobuf,Debian 9.1
我有这个问题,我正在尝试在 debian 机器上构建 caffe,我将构建所有内容,但最后在链接时我得到多个未定义的对 google::protobuf::... 的引用
我正在附加带有构建日志的文件,其中包含错误消息 (build_caffe.txt)。libprotobuf-dev 和 protoc 都已安装。(dpkg -s 的输出在 proto.txt 中)
以下是我构建 caffe 的方法。
请问有人知道这个问题的解决方案吗?
protocol-buffers - 协议缓冲区 - 仅生成 OuterClasses
我正在尝试从几个 proto 文件生成 java 源文件。
我使用的是 Ubuntu 17.04。
我使用以下 shell 脚本来执行此操作:
我还尝试了以下方法,我在其中指定了protoc-gen-grpc-java
插件:
在这两种情况下,结果是相同的。
问题是,这些命令只生成 XXXOuterClass.java 文件。没有生成服务类、消息或存根。
如何使用生成所有 java 类protoc
?