windows 7 & protobuf 3.0 & python 3.5
置顶:
在Python中使用protocol buffers参考指南
http://blog.csdn.net/losophy/article/details/17006573
其实看这篇文章就可以把整个安装和测试过程做的七七八八了。
虽然对于露珠这样的新手来说,过程中可能遇到的很多小问题没有提到,但是这篇文章给了一个不错的指引方向,所以还是很值得阅读的。
一。
下载protobuf
进入 https://github.com/google/protobuf/releases
找到 protobuf-python-3.0.0.zip 和 protoc-3.0.0-win32.zip
下载这两个压缩包
第一个是protobuf专门为python准备的库文件之类的,第二个是编译器,在bin文件夹内有个叫做protoc.exe的文件
(国内下载速度可能会有点慢呀~~~)(可以移步我的百度云盘。。。。。
链接: http://pan.baidu.com/s/1dFp0Y7v 密码: yv58
分别解压,
然后将protoc.exe文件放在另一个压缩包解压出来的src文件下,不然安装的时候会报错
接下来就可以在CMD中用CD 转到到第一个压缩包的python文件夹内
输入 python setup.py build
没报错的话 继续 输入 python setup.py test
在这里的时候遇到了个报错,提示说明reflection_test.py中哪一行的LONG数据类型有错,由于我们用的是python3,所以要把这个文件里的long改成int才行,
修改成功, 继续 python setup.py test
这次没错了,就继续 python setup.py install
看到这个就说明你安装成功啦

【注意安装的时候用CD命令到文件夹的时候,CD后面要有/d ,不要像我一样,在C的目录下,直接把文件名拖进来安装这是不行的。】
二。编译指令
在cmd中,输入
【安装protec.exe的路径】-I=【proto文件所在的文件夹!注意是文件夹路径】 --python_out=【你期待输出的文件路径】【proto文件所在的文件夹+文件名】.proto
【=号两边不要留空格!!!!!!】
把上面橘红色的部分改为自己的就行,
没有错误提示的话就是编译成功了,然后可以在你期待输出的文件夹里找到XX_pb2.py的文件
三。感悟
最大的感悟大概就是英语和学会搜索真的很重要。
就安装了这么个简单的东西,却耗费了很多时间。
谷歌百度都快搜烂了,而且大部分搜出来还是英文,所以这个时候还得耐心的看英语句子的意思。
感谢大学英语六级让我还是勉强看的懂的,如果实在不知道,懂得某些错误单词或许也可以让你找到修改错误的灵感,
这样找问题效率高点。
最后,贴出几个对自己帮助最大几篇文章,仅供参考
在Python 3.4里使用Protobuf 2.6
http://blog.csdn.net/caimouse/article/details/45339861
照着例子学习protobuf-python
http://www.cnblogs.com/adoontheway/p/4059632.html
protobuf协议语言指南
http://blog.csdn.net/zhaozheng7758/article/details/6749047
windows 7 & protobuf 3.0 & python 3.5的更多相关文章
- Windows下使用pip安装python包是报错-UnicodeDecodeError: 'ascii' codec can't decode byte 0xcb in position 0
先交待下开发环境: 操作系统:Windows 7 Python版本:2.7.9 Pip版本:6.1.1 其他环境忽略 在windows下使用pip下载python包,出现如下错误 Collecting ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- selenium win7+selenium2.0+python环境搭建
win7+selenium2.0+python环境搭建 by:授客 QQ:1033553122 步骤1:下载python 担心最新版的支持不太好,这里我下载的是python 2.7(selenium之 ...
- Selenium win7+selenium2.0+python+JetBrains PyCharm环境搭建
win7+selenium2.0+python+JetBrains PyCharm环境搭建 by:授客 QQ:1033553122 步骤1:下载python 担心最新版的支持不太好,这里我下载的是py ...
- 在windows下使用多版本Python安装相应的虚拟开发环境
在windows下面使用多版本Python安装相应的虚拟开发环境 在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题 ...
- 在windows中:双击运行Python程序、后台运行Python程序
在windows中:双击运行Python程序.后台运行Python程序 安装Python解释器的windows环境,如果双击运行*.py的文件,会闪退.怎样避免闪退呢? 我们用python的日志输出程 ...
- windows上安装Anaconda和python的教程详解
一提到数字图像处理编程,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因 ...
- 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...
随机推荐
- MySQL索引方法
MySQL目前主要有以下几种索引方法:B-Tree,Hash,R-Tree. 一.B-Tree B-Tree是最常见的索引类型,所有值(被索引的列)都是排过序的,每个叶节点到跟节点距离相等.所以B-T ...
- Ubuntu16.04 server下配置MySQL,并开启远程连接
背景 最近正在学nodejs,想到曾经有台云服务器,但是很久不用了,由于怕麻烦,一股脑的把云主机重装了个Ubuntu系统,于是配置MySQL成了配置服务中的一个环节(node用不用MySQL不管,主要 ...
- 【.NET】Linq几样特点
LinQ 是 .net framework 3.5的技术,对集合的查询和操作十分方便,结合LinQ Provider ,可以更方便操作XML和SQL(或Entity). LinQ有6样常用的特性: 自 ...
- 如何用php开启企业微信开发的回调模式
猜想: 懵逼 实践: 微信公众号开发的手册中甚至给出了只需要修改几个参数就能使用的范例.企业微信开发中在一个很不显眼的地方放了一个sample. https://work.weixin.qq.com/ ...
- (Nginx学习一)安装和启动及对应文件夹介绍
nginx 安装和启动及对应文件夹介绍 1 安装 官网下载nginx文件 http://nginx.org/en/download.html 解压即可 2 文件夹介绍 在解压后nginx压缩包后发现 ...
- 面试题-JDBC
1.什么是JDBC? JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节. 2.解释下驱动(Driver)在JDBC中 ...
- CSS3 六边形绘制
把一个104px的div放在它们之间,设置一个背景颜色: width: 0; border-bottom: 30px solid #6C6; border-left: 52px solid trans ...
- WinForm笔记一:文本框只允许输入数字
在WinForm的文本框中,有时候只允许数字,而不能输入除数字以外的其他字符,要调用TextBox的KeyPress事件,代码如下: //只允许输入数字 if (e.KeyChar<'0'||e ...
- shell-逐行读取文件
代码: #!/bin/bash echo 方法1 while read line do echo $line; done < testdata echo "" echo 方法 ...
- Python基础知识学习_Day3
一.字典用法 字典是一种key-value数据类型,通过key获取具体value的内容,字典的特性是无序.去重. 增删改查用法如下: 1.1基本增删改查操作 name = {"," ...