Phoenix protobuf error on import: Descriptors cannot be created directly

Running the one-click Arize Phoenix integration with LlamaIndex (arize-phoenix 3.17.1, llama-index-core 0.10.22) fails on import phoenix as px with TypeError: Descriptors cannot be created directly from protobuf. Downgrading protobuf alone to 4.25.3 does not fix it.

The real problem is pip backtracking to an old opentelemetry-proto (1.11.1) which only requires protobuf>=3.13, incompatible with protobuf v5. Fix: constrain opentelemetry-exporter-otlp >=1.21.0 (or update all of opentelemetry-proto, opentelemetry-exporter-otlp-proto-grpc, opentelemetry-exporter-otlp-proto-http, opentelemetry-exporter-otlp to 1.23.0+), which pulls protobuf down to 4.25.3 and fixes the import. Confirmed working by two reporters in the thread.

Source: https://github.com/Arize-ai/phoenix/issues/2695