在proto文件中使用grpcio-tools/grpc_tools.protoc进行相对导入的方法如下:
pip install grpcio-tools
import
语句导入其他proto文件。相对导入的语法格式为:import "相对路径/文件名.proto";
其中,相对路径是相对于当前proto文件的路径。
python -m grpc_tools.protoc -I 相对路径 --python_out=生成代码路径 --grpc_python_out=生成代码路径 相对路径/文件名.proto
其中,相对路径是相对于当前命令行所在路径的路径,生成代码路径是指生成的代码存放的路径。
示例:
假设有两个proto文件,分别是proto1.proto
和proto2.proto
,它们位于同一目录下。
proto1.proto内容如下:
syntax = "proto3";
package mypackage;
import "proto2.proto";
message MyMessage {
// ...
}
proto2.proto内容如下:
syntax = "proto3";
package mypackage;
message AnotherMessage {
// ...
}
在命令行中执行以下命令:
python -m grpc_tools.protoc -I . --python_out=generated_code --grpc_python_out=generated_code proto1.proto
执行完毕后,会在当前目录下生成一个名为generated_code
的文件夹,其中包含生成的代码文件。
生成的代码文件中,会包含导入proto2.proto
的语句:
import proto2_pb2 as proto2__pb2
这样就可以在proto文件中使用grpcio-tools/ grpc_tools.protoc进行相对导入了。
领取专属 10元无门槛券
手把手带您无忧上云