windows下python使用protobuf的开门级教程
废话说在前头
最近实习公司想用SOA的思想进行平台的搭建,需要把原有的软件拆分为不同的服务,我的任务就是重写一个原有的功能,这个功能设计到python、postgres、rabbitmq和protobuf。protobuf的python实现在网上的内容不是很多,有些试了试并不适合我使用,所以就把我这两天的工作做一个小结,内容非常真实,也写了我碰到的若干错误。但是因为内容非常之少,也不涉及到关键性的知识和技术,连入门级教程都算不上,我只好称他为开门级教程orz。
在不断的试错中,我发现有两样东西几乎是不会出任何差错的:
- 官方的网址:https://developers.google.com/protocol-buffers/docs/pythontutorial
- 官方给定的示例example
所以有任何疑问在问google之前,先看一眼官方的这两样东西都可能会让你少走很多弯路(血的教训)。当然,你有真的踏破铁鞋也找不到答案的情况,直接在github上留言也可能会有人帮你的,issue地址:https://github.com/grpc/grpc/issues
回到我这篇开门教程里,这篇blog涉及到内容主要有三点,一是在windows下向python添加protobuf的相应的库,二是如何编译.proto文件为.py文件,三是运行示例教程。那就让我们开始吧。
一、在windows下编译python所需的protobuf的相关文件
1、首先下载protobuf源码(后一个是我自己从github上down的,因为版本是3.6.0,因为网不好下了很久,但是这个是完全体,就是我把包括python在内的全部版本都下了下来):
https://github.com/google/protobuf/releases/tag/v3.6.0
或是:https://download.csdn.net/download/u013992365/10570515
2、找到protobuf-3.6.0.zip和protoc-3.6.0-win32.zip两个文件,解压;
3、将protoc-3.6.0-win32\bin下的protoc.exe复制到protobuf-3.6.0\src;
4、cmd窗口下切换到protobuf-3.6.0的python目录下,依次运行以下命令: