redis/redis-py · error · ImportError

OpenTelemetry is not installed. Install it with: pip insta

Error message

OpenTelemetry is not installed. Install it with:
  pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http

What it means

Error "OpenTelemetry is not installed. Install it with: pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http" thrown in redis/redis-py.

Source

Thrown at redis/observability/providers.py:79

        """
        Get the global MeterProvider set by the application.

        Returns:
            MeterProvider instance or None if metrics are disabled

        Raises:
            ImportError: If OpenTelemetry is not installed
            RuntimeError: If metrics are enabled but no global MeterProvider is set
        """
        if not self.config.is_enabled():
            return None

        # Lazy import - only import OTel when metrics are enabled
        try:
            from opentelemetry import metrics
            from opentelemetry.metrics import NoOpMeterProvider
        except ImportError:
            raise ImportError(
                "OpenTelemetry is not installed. Install it with:\n"
                "  pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-otlp-proto-http"
            )

        # Get the global MeterProvider
        if self._meter_provider is None:
            self._meter_provider = metrics.get_meter_provider()

            # Check if it's a real provider (not NoOp)
            if isinstance(self._meter_provider, NoOpMeterProvider):
                raise RuntimeError(
                    "Metrics are enabled but no global MeterProvider is configured.\n"
                    "\n"
                    "Set up OpenTelemetry before initializing redis-py observability:\n"
                    "\n"
                    "  from opentelemetry import metrics\n"
                    "  from opentelemetry.sdk.metrics import MeterProvider\n"
                    "  from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader\n"

View on GitHub (pinned to da03cdc7e8)

When it happens

Trigger: Thrown at redis/observability/providers.py:79 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of redis/redis-py@da03cdc7e8 (2026-08-04). Data as JSON: /data/errors/b1e43785a5d094fa.json. Report an issue: GitHub.