Python:如何将proto文件编译为python文件

本文介绍了如何将proto文件编译为Python代码,包括使用protoc和Python编译的方法。在protoc编译时,需要注意proto文件的格式,避免使用'required'和'optional'。通过添加环境变量并配置正确路径,可以使用protoc生成ABC_pb2.py。而Python编译则需要安装grpc、grpcio_tools和protobuf库,通过pip升级和安装,最终能生成ABC_pb2.py和ABC_pb2_grpc.py。后续博客将讲解如何编写gRPC服务端和客户端。
摘要由CSDN通过智能技术生成

说明:

    最近刚刚开始接触接口的编写,用的是有关grpc远程调用。我还没太搞明白接口是怎么回事,但我的初步目标可以简单理解为生成两个python文件。比如你的proto文件名是ABC,那么我的目标是生成:ABC_pb2.py 和 ABC_pb2_grpc.py。

    本文主要是针对上述目标的proto文件编译的。

    首先介绍一下我查到的编译方法,第一种是使用protoc,第二种是使用python编译;但只有python很好的完成了上述任务,因为protoc只生成了一个文件ABC_pb2.py。注意一下,两种方法都是用cmd运行的。

一、那你首先要准备一个proto文件。

    我在编译的时候遇到了一个问题,就是proto文件的编写格式。网上搜到的编写格式有一些是这样的

message people{    required string name = 1;

                   optional int32 height = 2;}

 

    但是我在编译的过程中,他一直报错说‘required’和‘optional’这个设置不能有,于是我删掉以后就编译成功了。我这边的版本是3,不知道是不是版本问题,‘required’和‘optional’可能是旧版本的编写方式吧。

 

    我现在的格式:

// Filename: abc.proto
syntax="proto3";
package abc;
service Action{
    rpc hihi(Request) returns (Response
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值