HOWTO · Python

Comment vérifier la version d'un module Python

Apprenez à vérifier la version d'un paquet Python installé avec importlib.metadata, l'attribut __version__ d'un module, pip show ou pkg_resources.

Sur cette page

Pour vérifier la version d’un paquet installé depuis Python, utilisez importlib.metadata.version() avec le nom de distribution du paquet. Pour une vérification dans le terminal, exécutez python -m pip show PACKAGE avec l’interpréteur Python dont vous souhaitez inspecter l’environnement. Les noms d’importation et les noms de distribution peuvent différer, utilisez donc le nom indiqué dans les instructions d’installation du paquet ou dans les métadonnées du paquet.

Utilisez importlib.metadata pour obtenir la version d’une distribution installée

importlib.metadata lit les métadonnées des distributions installées. Passez un nom de distribution tel que requests ; le nom que vous écrivez dans une instruction import n’est pas toujours le même. Cet exemple affiche le nom et la version de la première distribution renvoyée par l’environnement actuel :

from importlib import metadata

distributions = list(metadata.distributions())
if distributions:
    distribution = distributions[0]
    print(f"{distribution.metadata['Name']}: {distribution.version}")
else:
    print("No installed distributions found.")
pip: 26.2.1

Pour un paquet connu, appelez metadata.version("requests"). Si le module importlib.metadata de la bibliothèque standard n’est pas disponible dans l’environnement Python, le backport installé séparément utilise le chemin d’importation importlib_metadata ; son API de recherche s’appelle également version(). La disponibilité dépend de l’environnement, cet article ne présuppose donc pas de seuil particulier de version de Python.

Un échec de recherche peut signifier que la distribution n’est pas installée dans l’environnement actif, que le nom est incorrect ou que la commande utilise un environnement Python différent de celui dans lequel le paquet a été installé. Vérifiez le nom de la distribution et l’interpréteur avant de tirer une conclusion.

Vérifiez l’attribut __version__ d’un module lorsqu’il est disponible

Certains modules exposent leur version sous la forme d’une chaîne __version__. Par exemple, après avoir importé un module qui fournit l’attribut, lisez-le avec print(module.__version__). C’est une vérification pratique lorsque l’attribut existe, mais elle ne fait pas partie d’une exigence universelle pour les modules Python. La recherche de métadonnées de la bibliothèque standard ci-dessus est plus adaptée lorsque vous avez besoin des métadonnées de la distribution installée par son nom.

Vérifiez un paquet avec pip show

Utilisez python -m pip show PACKAGE dans un terminal pour afficher les détails d’une distribution installée. Cet exemple de commande n’est pas exécuté ici. Par exemple, exécutez python -m pip show requests. Trouvez la ligne Version dans le résultat. Exécuter pip en tant que module du Python choisi aide à aligner la commande sur l’environnement de cet interpréteur ; une commande pip nue peut faire référence à une autre installation. pip show signale les métadonnées du paquet et n’installe ni ne met à jour le paquet.

Utilisez pkg_resources pour les environnements hérités

Dans les environnements qui utilisent pkg_resources, importez-le avant d’appeler get_distribution(). Passez un nom de distribution, qui peut différer du nom d’importation du module. Cet exemple autonome vérifie la distribution pip installée lorsque pkg_resources est disponible ; l’API peut être absente de certains environnements :

try:
    import pkg_resources
except ImportError:
    print("pkg_resources is unavailable in this environment.")
else:
    try:
        print(pkg_resources.get_distribution("pip").version)
    except pkg_resources.DistributionNotFound:
        print("pip is not installed in this environment.")

Il s’agit d’une alternative héritée ; pour le nouveau code, préférez importlib.metadata lorsqu’il est disponible.