以下基于Win系统下Python的venv虚拟环境演示
- 《Python3笔记之venv虚拟环境》
- 《Python笔记之pip国内镜像修改方法》
在桌面创建个test
目录作为项目目录,初始化venv
环境后,安装基础依赖:
pip install grpcio grpcio-reflection grpcio-tools protobuf googleapis-common-protos
建立个项目结构:
|- example_proto|- core|- user.proto
|- proto_output
|- ProtoToPy.bat
准备user.proto
文件,例如:
syntax = "proto3"; // proto版本package core.user; // 文件夹层级,对应文件名,用.表示层级message AddUserRequest { // 请求参数string username = 1; // 用户名uint32 age = 2; // 密码
}message AddUserResponse { // 响应参数uint32 uid = 1; // 用户id
}// 定义接口服务
service UserService {// 提供服务接口rpc AddUser(AddUserRequest) returns (AddUserResponse);
}
准备ProtoToPy.bat
批处理脚本文件(也可不整),例如:
@echo off:: 项目目录路径
@set PROJECT_DIR=C:/Users/dev/Desktop/test
:: proto文件所在目录路径
@set PROTOC_DIR=%PROJECT_DIR%/example_proto
:: 转化后的文件存放路径
@set OUTPUT_DIR=%PROJECT_DIR%/proto_output
:: 待转化proto文件(相对PROTOC_DIR)
@set PROTO_NAMES=core/user.proto@python -m grpc_tools.protoc -I %PROTOC_DIR% --python_out=%OUTPUT_DIR% --grpc_python_out=%OUTPUT_DIR% --pyi_out=%OUTPUT_DIR% %PROTO_NAMES%
完事,在项目目录下执行这个批处理脚本就好了
此时,我们就可以得到以下PY文件: