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 workaroun
时间: 2023-07-20 14:06:38 浏览: 90
Python3.x和Python2.x的区别.docx
这个错误通常出现在使用旧版本的protobuf生成的Python代码时。建议升级到最新版本的protobuf并重新生成Python代码,或者尝试以下解决方法:
1. 安装最新版本的protobuf
可以使用以下命令安装:
```
pip install protobuf --upgrade
```
2. 重新生成Python代码
使用更新后的protoc编译器重新生成Python代码。例如,如果您的.proto文件名为`example.proto`,可以使用以下命令生成Python代码:
```
protoc -I=. --python_out=. example.proto
```
如果以上方法无法解决问题,您可以尝试查看您的代码中是否有其他与protobuf相关的问题,或者尝试寻求更详细的错误信息以便更好地定位问题。
阅读全文