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.