objectif
Récupérer la version d’une distribution installée (fallback si absente).
code minimal
try:
from importlib.metadata import version, PackageNotFoundError
except ImportError:
from importlib_metadata import version, PackageNotFoundError # backport
try:
v = version("pip")
print(isinstance(v, str)) # attendu: True (si pip présent)
except PackageNotFoundError:
print(True) # attendu: True (fallback)
utilisation
from importlib import metadata
dists = list(metadata.distributions())
print(isinstance(dists, list))
variante(s) utile(s)
from importlib import metadata
print(isinstance(metadata.packages_distributions(), dict))
notes
- Préférez importlib.metadata (stdlib 3.8+), sinon backport importlib-metadata.
- Attention: nom de distrib != nom de module (ex: “Pillow” -> “PIL”).