已解决TypeError: Descriptors cannot not be created directly.

2023-11-06

已解决TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.1.0If you cannot immediately regenerate your protos, some other possible workarounds are:

1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and will be mch slower ,More information: https://developers. google.com/protocol-buffers/docs/news/2022-05-06#python-updates
(paddle) F: \pycharm\PyCharm Community Edition 2022.1.4\bin\PaddleOCR-release-2.6\PPOCRLabe1>-









报错代码



粉丝群一个小伙伴想要安装一个PPOCRLabel,pip里已经把paddlepaddle和paddleorc下好了,然后输入PPOCRLabel --lang ch
,但是还是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下:


在这里插入图片描述


报错信息内容如下

TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.1.0If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and will be mch slower ,More information: https://developers. google.com/protocol-buffers/docs/news/2022-05-06#python-updates
(paddle) F: \pycharm\PyCharm Community Edition 2022.1.4\bin\PaddleOCR-release-2.6\PPOCRLabe1>-



报错翻译



报错信息翻译如下

类型错误:无法直接创建描述符。
如果此调用来自_pb2.py文件,则生成的代码已过期,必须使用protoc>=3.1.0重新生成。如果无法立即重新生成protos,则其他一些可能的解决方法如下:

  • 将protobuf包降级至3.20.x或更低。
  • 设置PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=PYTHON(但这将使用纯PYTHON解析,速度会慢很多,更多信息:https://developers.google.com/protocolbuffers/docs/news/2022-05-06#python更新(桨板)F:\pycharm\pycharm社区版2022.1.4\bin\PidleOCR-release-2.6\PPOCRabe1>



报错原因



报错原因

仔细阅读报错信息就会发现,报错的主要原因是因为protobuf的版本太高而导致编译错误,所以我们只需要按照编译器提示的信息下载3.19.0对应的版本即可解决问题。小伙伴按下面的代码安装指定版本即可!!!



解决方法



执行下面的pip安装命令即可:

pip install protobuf==3.19.0

或者:

pip install 'protobuf~=3.19.0'

以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!

千人全栈VIP答疑群联系博主帮忙解决报错

由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!

  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

  • 注意:如果希望得到及时回复,订阅专栏后私信博主进千人VIP答疑群在这里插入图片描述
    在这里插入图片描述

免费资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

已解决TypeError: Descriptors cannot not be created directly. 的相关文章

随机推荐

  • 利用python操纵数据库--数据写入与tkinter实现界面查询

    在日常练习sql的时候 又找不到好的线上数据库 这个时候不如自己下载一个mysql 但是数据批量写入呢 就可能是一个问题 这时候 利用python脚本批量写入即可 同时每次运行脚本也是一个麻烦的事 可以实现窗口输入 写到数据库中 这将在后面
  • centos7 开启网络连接

    1 当我们发现无法联网时 我们运行下面命令或者ping命令 ip addr 结果没有显示局域网的IP地址 2 我们去修改网卡配置文件 把网络连接打开 cd cd etc sysconfig network scripts vi ifcfg
  • 数据的清洗和检验(完全去重,缺失值的填充)

    一 完全去重 1 打开kettle工具 新建转换 gt 创建CSV文件输入控件 gt 1唯一行 哈希值 控件 gt 跳连接线 2 配置CSV文件输入控件 gt 进入CSV文件控制页面 如图所示 3 点击浏览 gt 选择完去重的文件merge
  • Hadoop学习笔记之在Eclipse中远程调试Hadoop

    转载地址 http itindex net detail 37273 hadoop E5 AD A6 E4 B9 A0 E7 AC 94 E8 AE B0 插件 话说Hadoop 1 0 2 src contrib eclipse plug
  • 记录一次cpu 100%线上问题排查

    功能问题 通过日志 单步调试相对比较好定位 性能问题 例如线上服务器CPU100 如何找到相关服务 如何定位问题代码 更考验技术人的功底 最近做项目时碰到线上某台实例不时出现CPU 100 的报警 线上部署了若干tomcat实例 即若干垂直
  • javase部分持续更新中...

    项目保存路径尽量不要出现中文 不要直接在磁盘目录下保存文件 注释 选中 Ctrl 关键字 学一个记一个 具有特殊含义的字 常量 程序运行过程中不可以改变的量 变量 在程序运行中可以改变的量叫做变量 int a 12 System out p
  • Unity 动画系统(Animation,Animator,Timeline)

    文章目录 1 Animation 1 1 创建Animation 1 2 Animation 属性 2 Animator 2 1 Animator 组件 2 2 Animation 状态 2 3 状态控制参数 2 4 代码中控制状态 3 代
  • vue&javascript点击空白处隐藏内容

    vue 1 创建一个按钮和容器 按钮控制显示和隐藏 容器存放内容 div 显示 div div 代码 div 2 编写自定义指令
  • 外键约束

    概念 一张表的一个字段受限于另外一张表的一个字段对应的值 这里涉及到两张表 被引用的表叫主表 父表 另外一张叫从表 子表 它们的关系 主从表关系 父子表关系 子表 定义了外键的表 外键的取值要么取父表中字段对应的值 要么取NULL值 严重受
  • 50款PS完美汉化插件一键安装,win+mac

    今天给大家带来2018最最牛逼的50款PS插件合集 包含了调色 磨皮 手绘 设计辅助等 各有特色 没有最好 只有最合适 所谓 萝卜青菜 各有所爱 包含有修图师最爱的人像磨皮神器 DR4 磨皮美白利器 Portraiture 3 一键降噪插件
  • CentOS+QT+KAFKA开发环境部署及测试

    CentOS QT KAFKA开发环境部署及测试 本文档记录了在CentOS环境下通过QT开发KAFKA程序的步骤 关于CentOS中安装QT集成开发环境 不再赘述 此处默认是在QT编译环境已经完备的情况下 如何配置KAFKA的编译环境及测
  • 人工智能-统计机器学习-线性回归

    监督学习 线性回归 linear regression 回归分析 分析不同变量之间存在的关系 回归模型 刻画不同变量之间关系的模型 如果这个模型是线性的 则称为线性回归模型 在现实生活中 往往需要分析若干变量之间的关系 如碳排放量与气候变暖
  • 石油化工行业能源管理解决方案分享

    目前石油化工企业普遍性的能源管理主要靠电子文件报表流转 层级传递能耗数据 这种能耗管理已经和现代企业生产实际需求相脱离 容易导致决策偏差 发出指令滞后等问题 严重影响企业的竞争力 某石油化学股份有限公司基于对企业能耗情况和现有能源管理模式的
  • 【疑难杂症】取消pyecharts绘制地图时默认显示小圆点标识

    取消pyecharts绘制地图时默认显示小圆点标识 1 问题 2 问题解决 手动反爬虫 原博地址 https blog csdn net lys 828 article details 124061946 知识梳理不易 请尊重劳动成果 文章
  • 转载:监控每个节点(Indices部分)

    集群的健康只是一个方面 它是对整个集群所有方面的一个很高的概括 节点状态的api是另外一个方面 它提供了关于你的集群中每个节点令你眼花缭乱的统计数据 节点的状态提供了那么多的统计数据 在你很熟悉它们执勤 你可能不确定哪些指标是至关重要 我们
  • 【Android】使用v7.widget.GridLayout做九宫格。

    布局文件 如果使用xml配置平分 那么配置大致如下 app layout rowWeight 垂直方向权重 app layout columnWeight 水平方向权重 app前缀是说明要使用v7所指定的属性 为了兼容
  • 最大公约数与最小公倍数的详细讲解及求法

    最大公约数的基本概念 能够整除一个整数的整数称为其的约数 如5是10约数 能够被一个整数整除的整数称为其的倍数 如10是5的倍数 如果一个数既是数A的约数 又是数B的约数 称为A B的公约数 A B的公约数中最大的一个 可以包括AB自身 称
  • 云原生时代需要什么样的存储系统?

    作者 张凯 出品 CSDN云计算 ID CSDNnews 导读 本文介绍了目前云原生环境下 支持有状态应用的几种典型存储方案的特点 并对市场主流的几个云原生存储产品实际测试性能进行对比 现状 当前 云原生已经成为应用开发者在选择架构设计时的
  • JAVA 将一个对象的所有字段值 赋给另一个 对象

    如题 这种场景其实项目里使用场景很多 经常需要进行这种对象值的复用 但是又怕使用不准确 影响到原对象的值 那么该篇文章介绍一个方法 简单粗暴 就是使用BeanUtils 所以我们使用的是 简单示例 Dog 里面有两个字段 构造方法 setg
  • 已解决TypeError: Descriptors cannot not be created directly.

    已解决TypeError Descriptors cannot not be created directly If this call came from a pb2 py file your generated code is out