Search code examples
pythonmediapipe

Getting TypeError:"Descriptors cannot be installed directly" when running MediaPipe


I am trying to run a script using mediapipe but I am getting this error: TypeError:"Descriptors cannot be installed 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).

My Current Version of python is 3.7


Solution

  • The solution, at least for now, is in the error message:

    Downgrade the protobuf package to 3.20.x or lower.

    So add a pinned requirement to protobuf in your requirements.txt:

    protobuf==3.20.0