TypeError: Descriptors cannot not be created directly.Maybe need to edit the code for the new protobuf versions?
i35010u opened this issue · 2 comments
PS C:\Users*\Downloads\payload_dumper-master>
File "C:\Users*\Downloads\payload_dumper-master\payload_dumper.py", line 15, in
import update_metadata_pb2 as um
File "C:\Users*\Downloads\payload_dumper-master\update_metadata_pb2.py", line 33, in
_descriptor.EnumValueDescriptor(
File "C:\Users*\AppData\Local\Programs\Python\Python310\lib\site-packages\google\protobuf\descriptor.py", line 755, in new
_message.Message._CheckCalledFromGeneratedFile()
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:
- Downgrade the protobuf package to 3.20.x or lower.
- Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
use command
pip install protobuf==3.19.0
use command 'pip install protobuf==3.19.0'
eventually use 'python -m pip uninstall protobuf' first