当我从python生成grpc文件(运行python -m for(var property in category_images){
console.log(category_images[property].length);
for (var i = 0; i < category_images[property].length; i++) {
category_images[property][i]["src_compressed"] = "HI";
}
}
)时,对于X个原型文件grpc_tools.protoc
和X_pb2.py
,我分别得到2个文件。
但是,通过使用protobuf-maven-plugin(0.6.1)中的 compile-python maven目标,我只能得到X_pb2.py文件,而不是 grpc文件。我的问题是pb2.py文件中缺少服务。那么我该如何构建grpc.py文件呢?
从点子列表中
X_pb2_grpc.py
grpcio 1.23.0
grpcio-tools 1.23.0
protobuf 3.9.1
答案 0 :(得分:1)
xolstice Maven插件似乎不支持此功能。 gRPC代码生成需要protoc
编译器的插件。该插件被烘焙到PyPI上的grpcio-tools
包中。您必须编译Python gRPC protoc
插件和supply it to protobuf-maven-plugin才能使其正常工作。 protocPlugin
参数看起来应该可以满足您的要求。
但是在更高的层次上,您有理由使用Maven构建Python工件吗?
答案 1 :(得分:0)
在将compile命令放入脚本中并在编译期间使用exec-maven-plugin执行脚本方面,我取得了巨大的成功。
我使用了一个shell脚本来运行gRPC Quick Start中的compile命令的变体。需要注意的一点是,无论您将脚本放在何处,除非您导航到脚本内的另一个文件夹,否则它将从项目根目录运行。