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

重新安装后可正常使用!

相关推荐
FreakStudio18 分钟前
一文速通 Python 并行计算:13 Python 异步编程-基本概念与事件循环和回调机制
python·pycharm·协程·多进程·并行计算·异步编程
量子联盟1 小时前
原创-基于 PHP 和 MySQL 的证书管理系统,免费开源
开发语言·mysql·php
时来天地皆同力.2 小时前
Java面试基础:概念
java·开发语言·jvm
豌豆花下猫2 小时前
让 Python 代码飙升330倍:从入门到精通的四种性能优化实践
后端·python·ai
夏末蝉未鸣012 小时前
python transformers库笔记(BertForTokenClassification类)
python·自然语言处理·transformer
hackchen2 小时前
Go与JS无缝协作:Goja引擎实战之错误处理最佳实践
开发语言·javascript·golang
铲子Zzz4 小时前
Java使用接口AES进行加密+微信小程序接收解密
java·开发语言·微信小程序
小小小新人121234 小时前
C语言 ATM (4)
c语言·开发语言·算法
Two_brushes.4 小时前
【linux网络】网络编程全流程详解:从套接字基础到 UDP/TCP 通信实战
linux·开发语言·网络·tcp/udp
weixin_418813874 小时前
Python-可视化学习笔记
笔记·python·学习