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 运行时中使用 language_tool_python 部署 Cloud Function
如何使用带有 Python 3.7 的 sqlite3 python 模块的 FTS5 扩展?
使用 python 3.8+(默认协议=5)时,pickle.load 在 python 3.7 中的(协议=4)对象上失败