安装protobuf==3.20.1后,还是显示TypeError: Descriptors cannot not be created directly.
时间: 2024-06-13 08:04:45 浏览: 308
安装protobuf==3.20.1后仍然显示TypeError: Descriptors cannot not be created directly的原因可能是您的生成代码已过期,需要使用protoc重新生成代码。如果您无法立即重新生成protos,则可能有其他可能的解决方法:
1. 尝试降级protobuf包到3.20.x或更低版本。
2. 设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python(但这将使用纯Python解析,速度会慢得多)。
如果以上方法都无法解决问题,建议您查看相关错误信息,以便更好地定位问题所在。同时,您也可以尝试在相关论坛或社区中寻求帮助,以获取更多的解决方案。
相关问题
TypeError: Descriptors cannot not be created directly.
TypeError: Descriptors cannot not be created directly. 这个错误通常是由于protobuf版本过低或者生成的代码过时导致的。解决这个问题的方法有几种:
1. 更新protobuf版本到3.19.0或更高版本,并重新生成代码。
2. 如果无法立即重新生成代码,可以尝试降级protobuf包到3.20.x或更低版本。
3. 另一种可能的解决方法是设置环境变量PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python,但这会使用纯Python解析,速度较慢。
paddleocr TypeError: Descriptors cannot not be created directly.
paddleocr报错"TypeError: Descriptors cannot not be created directly." 是因为protobuf的版本太高导致编译错误。解决该问题的方法是按照编译器提示的信息下载protobuf的3.19.0版本,可以使用以下命令进行安装:pip install protobuf==3.19.0。
阅读全文