1.下载,配置环境变量

下载地址:https://github.com/google/protobuf/releases,选择protoc-xxx-win64.zip下载

把.exe文件的位置加入到Path中

2.建立一个protoc文件test2.protoc

文件位置:最好跟环境变量不在一个盘,不知道什么原因,我环境变量在D盘,protoc文件也在D盘就不认识,放到F盘就可以。

test2.protoc内容:

syntax = "proto2";
message testinfo
{
required int32 devtype = ;
required int32 devid = ;
required int32 unitid = ;
required int32 chlid = ;
optional int32 testid = [default = ];
required bytes stepdata = ;
}

在文件路径输入cmd,回车,进入命令窗口

执行命令:

#第一个是protoc文件的路径,第二个是编译文件的路径

#protoc -I=源地址 --java_out=目标地址 xxx.proto
protoc -I=F:\protocbuf_test --java_out=F:\protocbuf_test test2.proto #此处生成python文件
protoc --python_out=./ test2.proto #默认生成.java文件
protoc -I=F:\protocbuf_test --java_out=F:\protocbuf_test test2.proto

3.在目录下新建文件 test.py,写入代码

import test2_pb2

testinfo = test2_pb2.testinfo()
testinfo.devtype = 100
testinfo.devid = 2
testinfo.unitid = 3
testinfo.chlid = 4
testinfo.testid = 250
testinfo.stepdata = b'abd' print(testinfo, testinfo.devtype) # 打印 protobuf 结构的内容
out = testinfo.SerializeToString()
print(out) # 打印 Protobuf 序列字符串 decode = test2_pb2.testinfo()
decode.ParseFromString(out) print(decode) # 打印 解析Protobuf后的内容

运行python代码,报错:

因为测试,使用的是系统默认的临时python环境,没有安装相关模块,需要安装一下 :

pip install protobuf
pip install google

再执行:

python test.py

出现下面情况,表示成功:

参考:

https://www.cnblogs.com/luyanjie/p/10403869.html

https://blog.csdn.net/liupeifeng3514/article/details/78985575

https://stackoverflow.com/questions/38680593/importerror-no-module-named-google-protobuf

protobuf编译工具使用的更多相关文章

  1. protobuf编译出错的解决方案(iOS,OSX)

    protobuf 最近使用protobuf,变编译工具时遇上一点问题.现在附上解决方案 编译过程 完全参照 https://github.com/alexeyxo/protobuf-objc 编译出错 ...

  2. 工欲善其事,必先利其器 软件工具开发关键词 protractor自动化测试工具 RegexBuddy正则 CodeSmith,LightSwitch:代码生成 CheatEngine:玩游戏修改内存值必备神器 ApkIDE:Android反编译工具 Reflector:反编译dll动态链接库

    工欲善其事,必先利其器 本文版权归翟士丹(Stan Zhai)和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利. 原文地址:http ...

  3. protoc 编译工具

    在进行开发 protoc 之前,你需要首先在你的计算机中安装 protoc 编译工具. 下载编译工具 进入 Protocol Buffers 的源代码中然后选择发布的版本中,找到对应的版本.项目的链接 ...

  4. koala预编译工具的使用

    Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...

  5. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  6. less及编译工具介绍

    什么是LESSCSS LESSCSS是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便CSS的编写和维护. LE ...

  7. eclipse安装反编译工具

    身为一名程序员来说,日常最常做的就是编写代码和查看别人写好的源代码了,有时候打开别人写的class文件发现根本不是自己想要的,所以给大家介绍一种eclipse中反编译class文件的工具. 第一步:下 ...

  8. Koala – 开源的前端预处理器语言图形编译工具

    koala 是一个前端预处理器语言图形编译工具,支持 Less.Sass.Compass.CoffeeScript,帮助 Web 开发者更高效地使用它们进行开发.跨平台运行,完美兼容 Windows. ...

  9. .net混淆、反编译工具调查

    常用的工具列表[比较常见的] 混淆器.加密 Dotfuscator VS默认带的工具,不过是个社区版 强度不大 dotNET Reactor 使用了NativeCode 和混淆的形式 Xenocode ...

随机推荐

  1. hdu 2578 Dating with girls(1) 满足条件x+y=k的x,y有几组

    Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  2. selenium2Library无法启动chrome

    使用其他浏览器都没有影响,唯独chrome启动不起来,去掉IE-连接-局域网设置-自动检测设置就OK了

  3. springboot关闭whitelabel Error page

    当访问不存在的页面时报错: 如何关闭它?有2种方法, 方法1: application.properties中加入server.error.whitelabel.enabled=false 方法2:在 ...

  4. 【Vue中的坑】Vue中的@mouseenter没反应?

    在开发中想实现鼠标悬浮,然后发现事件不由被出发,查找资料,发现并不是所有情况都不能用 下面就简单的说一下如何避免这种情况 如果你的悬浮事件是在 a 标签上,那么你直接使用就会出问题,你需要加一个nat ...

  5. Mongodb集群形式探究-一主一从一仲裁。

    主节点(primary)与从节点(secondary)和仲裁节点(arbiter)具有存储数据的两个成员的三个成员副本集具有:   ●一个主节点.   ●一个从节点. 从节点可以在选举中成为主节点.  ...

  6. BZOJ:2190: [SDOI2008]仪仗队

    题解:欧拉函数 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...

  7. python中__str__与__repr__

    (1)背景 python中,对于类(自定义类)的实例对象的默认显示既没有太大用处,也不美观.比如: class adder: def __init__(self,value=0): self.data ...

  8. Android群英传知识点回顾——第四章:ListView常用优化技巧

    4.1 ListView常用优化技巧 4.1.1 使用ViewHolder模式提高效率 4.1.2 设置项目间分割线 4.1.3 隐藏ListView的滚动条 4.1.4 取消ListView的Ite ...

  9. 每天一点点之laravel框架开发 - passport授权报invalid_credentials

    {"error":"invalid_credentials","message":"The user credentials we ...

  10. tensorflow---darknet53

    #! /usr/bin/env python# coding=utf-8#=============================================================== ...