我需要修复 grpc 服务,所以我想了解编译它们的逻辑。
在下面的示例中,我不明白为什么 protoc 不编译address.proto,因为它是由person.proto.
没有构建错误,所以我认为这不是导入/命名问题。不幸的是,只person_pb2.py生成了一个...
// file: address.proto
syntax="proto3";
message Address {
string city = 1;
string road = 3;
int32 roadNumber = 4;
}
Run Code Online (Sandbox Code Playgroud)
// file: person.proto
syntax="proto3";
import "address.proto";
message Person {
string name = 1;
Address home = 3;
Address work = 4;
}
Run Code Online (Sandbox Code Playgroud)
构建命令:
python -m grpc_tools.protoc --proto_path ../protos --python_out=. person.proto
Run Code Online (Sandbox Code Playgroud)