TypeError: Descriptors cannot not be created directly. If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0. If you cannot immediately regenerate your protos, some other possible workarounds are: 1. Downgrade the protobuf package to 3.20.x or lower. 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
时间: 2024-03-22 14:42:25 浏览: 37
Vue 报错TypeError: this.$set is not a function 的解决方法
这个错误提示是因为你的代码使用了已经过期的protobuf版本导致的。建议你按照错误提示中的一些解决方案进行处理:
1. 升级protobuf版本,protoc >= 3.19.0
推荐使用以下命令升级protobuf:
```
pip install --upgrade protobuf
```
2. 降级protobuf版本,将protobuf降为3.20.x或更低的版本。
3. 设置环境变量PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python,但这会使用纯Python解析,速度会慢很多。
如果以上方法都不行,你可能需要更新你的代码以使用最新的protobuf版本或者重新生成protobuf代码。
阅读全文