Monday, 17 October 2022

Latest Google protobuf not working on app engine

For my GAE app, I was updating the libs in my requirements.txt, and after doing so, I get error messages relating to protobuf.

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). More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

I'm not using protobuf directly so it seems that other Google libraries are using it. Adding

protobuf==3.20.3

to my requirements.text fixes it.

But... what is going on and for how long do I need to do this? I haven't found any helpful info online from Google.

It is troubling to have to pin a library to an old version because at some point something will break.



from Latest Google protobuf not working on app engine

No comments:

Post a Comment