python 3.7使用protobuf-3.17.3版本

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 3.7使用protobuf-3.17.3版本相关的知识,希望对你有一定的参考价值。

从前面一文里已经学会安装protobuf在VC2017里编译,有时候服务器使用python来开发,那么就需要与VC开发的客户端进行通讯,这样就需要协议进行通讯,这时候解包和打包网络协议,就得使用protobuf来进行。因此需要学会在python里安装和使用protobuf库,下面就来进行这个过程的学习。

先进到protobuf的目录:

D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\python

然后再把protoc.exe拷贝到下面的目录:

D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\src

然后回到D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\python目录,运行下面的命令:

D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\python>python setup.py build

D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\python>python setup.py test

D:\\kangjin\\TestZMQ\\protobuf-3.17.3\\python>python setup.py install

这样就可以把protobuf安装到python 3.7的目录下面,这样就可以使用了。

Protobuf对比XML、Json等其他序列化的优势

protobuf 不管是处理时间上,还是空间占用上都优于现有的其他序列化方式。内存暂用是java 序列化的1/9,时间也是差了一个数量级,一次操作在1us左右。缺点:就是对象结构体有限制,只适合于内部系统使用。
json格式在空间占用还是有一些优势,是jav

以上是关于python 3.7使用protobuf-3.17.3版本的主要内容,如果未能解决你的问题,请参考以下文章

安装完Anaconda python 3.7,想使用python3.6方法

python版本升级到3.7

无法在 Python 3.7 运行时中使用 language_tool_python 部署 Cloud Function

如何使用带有 Python 3.7 的 sqlite3 python 模块的 FTS5 扩展?

python 3.7使用protobuf-3.17.3版本

使用 python 3.8+(默认协议=5)时,pickle.load 在 python 3.7 中的(协议=4)对象上失败