importlib.metadata consulta os metadados registrados pelo instalador. Isso é diferente de importar um módulo: nome da distribuição e nome importável podem não ser iguais.

Exemplo prático

from importlib.metadata import PackageNotFoundError, version

try:
    installed = version("pip")
except PackageNotFoundError:
    installed = None

print(installed)

Versões e falhas esperadas

Use version() quando a versão instalada for relevante e trate PackageNotFoundError. Não use comparação textual para decidir compatibilidade; um parser de versões segue regras próprias.

Entry points são extensibilidade

Entry points permitem descobrir plugins declarados por pacotes. Filtre o grupo esperado e carregue apenas extensões confiáveis, pois load() importa e executa código do ambiente.

Continue estudando

Leia também PIP Python: Guia Completo para Gerenciar Dependências e pyproject.toml em Projetos Python: Guia para Apps e Bibliotecas. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API e o comportamento entre versões.