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

重新安装后可正常使用!

相关推荐
jiuri_121510 分钟前
Docker使用详解:在ARM64嵌入式环境部署Python应用
python·docker·容器
chenchihwen13 分钟前
AI代码开发宝库系列:Function Call
人工智能·python·1024程序员节·dashscope
汤姆yu2 小时前
基于python的化妆品销售分析系统
开发语言·python·化妆品销售分析
ScilogyHunter2 小时前
C语言标准库完全指南
c语言·开发语言
sali-tec2 小时前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉
应茶茶2 小时前
C++11 核心新特性:从语法重构到工程化实践
java·开发语言·c++
上去我就QWER2 小时前
Python下常用开源库
python·1024程序员节
程子的小段3 小时前
C 语言实例 - 字符串复制
c语言·开发语言
-森屿安年-3 小时前
STL 容器:stack
开发语言·c++