栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

in MergeFromString raise message

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

in MergeFromString raise message

在用python引用protobuf编译好的.py文件时遇到报错:

File "/home/yany/.local/lib/python2.7/site-packages/google/protobuf/message.py", line 199, in ParseFromString
    return self.MergeFromString(serialized)
  File "/home/yany/.local/lib/python2.7/site-packages/google/protobuf/internal/python_message.py", line 1134, in MergeFromString
    raise message_mod.DecodeError('Truncated message.')
google.protobuf.message.DecodeError: Truncated message.

网上没查到很合适的解决方案,debug过程中发现把.proto文件中的空行去掉会有一定改善,但不治本;

最后发现是proto版本问题,

proto的python版本和C版本要匹配,我这边的版本信息:

proto的python版本:3.17.3

安装指令:

默认:pip install protobuf   

指定版本:pip install protobuf==3.17.3

版本查询方法:

python

>>>import google.protobuf

>>>google.protobuf.__version__

安装c++版本protobuf, c++版本应该是protoc 3.0.0,

版本查询命令 protoc --version 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号