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

重新安装后可正常使用!

相关推荐
const5441 分钟前
cpp自学 day2(—>运算符)
开发语言·c++
心扬2 分钟前
python生成器
开发语言·python
mouseliu8 分钟前
python之二:docker部署项目
前端·python
阿蒙Amon9 分钟前
06. C#入门系列【自定义类型】:从青铜到王者的进阶之路
开发语言·c#
虾球xz12 分钟前
CppCon 2015 学习:CLANG/C2 for Windows
开发语言·c++·windows·学习
狂小虎25 分钟前
亲测解决self.transform is not exist
python·深度学习
Python智慧行囊27 分钟前
Python 中 Django 中间件:原理、方法与实战应用
python·中间件·架构·django·开发
深科文库36 分钟前
构建 MCP 服务器:第 3 部分 — 添加提示
服务器·python·chatgpt·langchain·prompt·aigc·agi
CodeWithMe1 小时前
【C/C++】namespace + macro混用场景
c语言·开发语言·c++