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

重新安装后可正常使用!

相关推荐
qq_206901399 分钟前
如何使用C#调用Oracle存储过程_OracleCommand配置CommandType.StoredProcedure
jvm·数据库·python
m0_7488394917 分钟前
CSS如何实现元素平滑滚动_使用scroll-behavior属性设置
jvm·数据库·python
Victoria.a31 分钟前
python基础语法
开发语言·python
xiaotao1311 小时前
01-编程基础与数学基石: Python核心数据结构完全指南
数据结构·人工智能·windows·python
青苔猿猿1 小时前
【1】JupyterLab安装
python·jupyter
xiaoyaohou111 小时前
023、数据增强改进(二):自适应数据增强与AutoAugment策略
开发语言·python
鬼圣1 小时前
Python 上下文管理器
开发语言·python
星空椰1 小时前
JavaScript 基础进阶:分支、循环与数组实战总结
开发语言·javascript·ecmascript
yong99902 小时前
IHAOAVOA:天鹰优化算法与非洲秃鹫优化算法的混合算法(Matlab实现)
开发语言·算法·matlab
努力学习_小白2 小时前
ResNet-50——pytorch版
人工智能·pytorch·python