python报错:TypeError: Descriptors cannot be created directly.

问题

报错提示:

bash 复制代码
TypeError:不能直接创建描述符。
如果此调用来自 _pb2.py 文件,则您生成的代码已过期,必须使用 protoc >= 3.19.0 重新生成。
如果您不能立即重新生成原型,其他一些可能的解决方法是:
1. 将 protobuf 包降级到 3.20.x 或更低版本。
2. 设置 PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (但这将使用纯 Python 解析并且会慢得多)。

解决方案

我现在的版本为protobuf-4.25.1。

按照报错提示,卸载当前版本的protobuf,重新安装3.19.0版本

分别执行以下命令:

bash 复制代码
pip uninstall protobuf
bash 复制代码
pip install protobuf==3.19.0

重新安装后可正常使用!

相关推荐
β添砖java6 小时前
python第一阶段第六章python数据容器
开发语言·python
YouEmbedded6 小时前
解码C++基础——从C到C++
开发语言·从c到c++
yong99906 小时前
基于多普勒连续波雷达原理的MATLAB测速程序
开发语言·matlab
o***36936 小时前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
枫叶丹46 小时前
【Qt开发】Qt窗口(三) -> QStatusBar状态栏
c语言·开发语言·数据库·c++·qt·microsoft
亮子AI6 小时前
【JavaScript】修改数组的正确方法
开发语言·javascript·ecmascript
q***31147 小时前
【JAVA进阶篇教学】第十二篇:Java中ReentrantReadWriteLock锁讲解
java·数据库·python
浮尘笔记7 小时前
Go语言中如何实现线程安全的map
开发语言·后端·安全·golang
时尚IT男7 小时前
Python 魔术方法详解:掌握面向对象编程的精髓
开发语言·python