nicolargo/glances · error · Exception

Missing libs required to run Podman Extension (Containers)

Error message

Missing libs required to run Podman Extension (Containers)

What it means

Raised in the Podman engine's __init__ when disable_plugin_podman signals that the Podman client libraries are unavailable. The engine checks the module-level import result and raises this Exception instead of starting with a half-working client.

Source

Thrown at glances/plugins/containers/engines/podman.py:288

            ior = string_value_to_float(ior_str)
            iow = string_value_to_float(iow_str)
        except ValueError as e:
            self._log_debug("Compute BlockIO usage failed", e)
            return None

        # Hardcode `time_since_update` to 1 as podman docs don't specify the rate calculation procedure
        return {"ior": ior, "iow": iow, "time_since_update": 1}


class PodmanExtension:
    """Glances' Containers Plugin's Docker Extension unit"""

    CONTAINER_ACTIVE_STATUS = ["running", "healthy", "paused"]

    def __init__(self, podman_sock):
        self.disable = disable_plugin_podman
        if self.disable:
            raise Exception("Missing libs required to run Podman Extension (Containers)")

        self.display_error = True

        self.client = None
        self.ext_name = "containers (Podman)"
        self.podman_sock = podman_sock
        self.pods_stats_fetcher = None
        self.container_stats_fetchers = {}

        # Issue #3559: cache the (immutable) image tags per container id to avoid
        # one inspect_image API call per container on every refresh.
        self.image_cache = {}

        self.connect()

    def connect(self):
        """Connect to Podman."""
        try:

View on GitHub (pinned to a240d8dfb3)

Solutions

  1. Install the extra: pip install 'glances[podman]'
  2. Confirm importability: python -c 'import glances.plugins.containers.engines.podman' and read any ImportError
  3. If the socket path is wrong you'll get client errors later — but ensure the lib is present first
  4. Turn off the Podman engine in glances.conf if unused

Example fix

# before
$ glances  # Podman engine init fails
# after
$ pip install 'glances[podman]'
$ glances
Defensive patterns

Strategy: validation

Validate before calling

import importlib.util
if importlib.util.find_spec('podman') is None:
    raise SystemExit('install: pip install glances[podman]')

Type guard

def podman_engine_available() -> bool:
    import importlib.util
    return importlib.util.find_spec('podman') is not None

Try / catch

try:
    ext = PodmanGlancesContainerExtension(podman_sock=sock)
except Exception as e:
    if 'Missing libs' in str(e):
        ext = None
    else:
        raise

Prevention

When it happens

Trigger: Constructing PodmanGlancesContainerExtension(podman_sock=...) without the podman client package installed, or when importing it failed at module import time.

Common situations: Installing glances without [podman] extras; trying to monitor Podman on a host where the SDK is absent; broken installs after Python upgrades invalidated site-packages.

Related errors


AI-assisted analysis of nicolargo/glances@a240d8dfb3 (2026-08-27). Data as JSON: /api/errors/48e72a6aa629a04a. Report an issue: GitHub.