protobuf协议转化为pb2.py

一、需要具备的工具

  1. 安装protoc 编译器
  2. protobuf 依赖包
    1. pip install protobuf==3.20.1

    二、 将proto文件编译为py脚本

1.操作步骤

1.1.下载protoc

地址是:https://github.com/protocolbuffers/protobuf/releases ,推荐下载3.19.4

地址为:https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.4,找到windows 版本直接下载即可
image.png

1.2 配置环境变量

  1. 环境变量配置,打开系统环境变量,path,将protoc的路径加入到path中即可

image.png
image.png

1.3 测试protoc 环境变量是否配置成功,输入

protoc —version

image.png

1.4 将proto 文件转化为xx_pb2.py文件

  1. protoc --python_out=./ *.proto
  • —python_out 表示保存生成Python文件的目录,生成的文件中包含接口定义中的<数据message>类型
  • ./pb2/ 代码将文件生成到这个文件夹下,可以忽略不写
  • *.proto 代表编译的文件名

1.5 查看xx_pb2.py 文件

image.png


2.遇见的问题:

问题一:提示:Missing input file 的Protocol

解决方案:通过编辑器的如下命令生成Java文件时 `protoc —python_out=./ prop.proto
prop.proto冒号后面那个点和文件名之间有个空格,忘记加空格了不会编译通过,会报错:Missing input file.

注意:

  • protoc版本、python jdk、protobuf 三者版本最好一致,不然会有莫名其妙的报错

参考地址:https://blog.csdn.net/liupeifeng3514/article/details/78985575