Skip to content

Vérification de la version de Python en ligne de commande et dans un script

Cet article décrit comment vérifier, obtenir et imprimer la version de Python installée et exécutée sur Windows, Mac et Linux.

  • Vérifiez la version de Python sur la ligne de commande :--version, -V, -VV
  • Vérifiez la version de Python dans le script :sys, platform
    • Chaîne d’informations diverses :sys.version
    • Tuple de numéros de version :sys.version_info
    • Chaîne du numéro de version :platform.python_version()
    • Tuple de chaînes de numéro de version :platform.python_version_tuple()

Si vous souhaitez vérifier la version du package/de la bibliothèque, du système d’exploitation, etc., au lieu de la version de Python elle-même, consultez les articles suivants.

Vérifiez la version de Python sur la ligne de commande :--version, -V, -VV

Exécutez la commande python ou python3 avec l’option –version ou -V à l’invite de commande (cmd) sous Windows ou le terminal sous Mac et Linux.

$ python --version
Python 2.7.15

$ python -V
Python 2.7.15

$ python3 --version
Python 3.7.0

$ python3 -V
Python 3.7.0

Comme dans l’exemple ci-dessus, dans certains environnements, la série Python2.x est affectée à la commande python et la série Python3.x est affectée à la commande python3.

L’option -VV a été ajoutée depuis Python 3.6. Des informations plus détaillées que -V sont générées.

$ python3 -VV
Python 3.7.0 (default, Jun 29 2018, 20:13:13)
[Clang 9.1.0 (clang-902.0.39.2)]

Vérifiez la version de Python dans le script :sys, platform

Vous pouvez utiliser le module sys de bibliothèque standard ou le module de plate-forme pour obtenir la version de Python en cours d’exécution.

Le même script peut être utilisé sur Windows, Mac et Linux, y compris Ubuntu.

Il est utile pour vérifier quelle version de Python est en cours d’exécution dans un environnement où plusieurs versions de Python sont installées. Même si vous pensiez que Python3 fonctionnait, il y avait un cas où Python2 fonctionnait, donc si quelque chose ne va pas, vérifiez-le une fois.

Il est également utilisé lorsque vous souhaitez changer d’opérations selon qu’il s’agit de Python2 ou de Python3.

Chaîne d’informations diverses :sys.version

sys.version est une chaîne indiquant diverses informations, notamment le numéro de version.

sys.version
Une chaîne contenant le numéro de version de l’interpréteur Python ainsi que des informations supplémentaires sur le numéro de build et le compilateur utilisé.
sys.version — Paramètres et fonctions spécifiques au système — Documentation Python 3.7.4

import sys

print(sys.version)
# 3.7.0 (default, Jun 29 2018, 20:13:13) 
# [Clang 9.1.0 (clang-902.0.39.2)]

print(type(sys.version))
# <class 'str'>

Tuple de numéros de version :sys.version_info

sys.version_info est un tuple (nommé tuple) indiquant le numéro de version.

sys.version_info
Un tuple contenant les cinq composants du numéro de version : majeur, mineur, micro, niveau de version et série.
sys — Paramètres et fonctions spécifiques au système — Documentation Python 3.7.4

print(sys.version_info)
# sys.version_info(major=3, minor=7, micro=0, releaselevel="final", serial=0)

print(type(sys.version_info))
# <class 'sys.version_info'>

releaselevel est str, et les autres éléments sont int.

Vous pouvez obtenir chaque valeur en spécifiant un index.

print(sys.version_info[0])
# 3

Depuis la version 2.7 pour Python2 et la version 3.1 pour Python3, vous pouvez obtenir des éléments par nom (majeur, mineur, micro, niveau de version, série).

Par exemple, si vous souhaitez obtenir une version majeure :

print(sys.version_info.major)
# 3

Si vous voulez déterminer si Python2 ou Python3 est en cours d’exécution, vous pouvez vérifier la version majeure avec ce sys.version_info.major. 2 signifie Python2 et 3 signifie Python3.

Vous pouvez basculer le processus entre Python2 ou Python3.

if sys.version_info.major == 3:
    print('Python3')
else:
    print('Python2')
# Python3

Utilisez sys.version_info.minor si vous souhaitez basculer les opérations par une version mineure.

Comme mentionné ci-dessus, l’accès aux éléments à l’aide de noms est pris en charge à partir de la version 2.7 et de la version 3.1, donc s’il y a une possibilité qu’il soit exécuté dans une version antérieure, utilisez sys.version_info[0] ou sys.version_info[1].

Chaîne du numéro de version :platform.python_version()

platform.python_version() renvoie une chaîne ‘major.minor.patchlevel’.

platform.python_version()
Renvoie la version de Python sous la forme de la chaîne ‘major.minor.patchlevel’.
platform — Accès aux données d’identification de la plateforme sous-jacente — Documentation Python 3.7.4

import platform

print(platform.python_version())
# 3.7.0

print(type(platform.python_version()))
# <class 'str'>

Il est utile lorsque vous souhaitez obtenir le numéro de version sous la forme d’une simple chaîne.

Tuple de chaînes de numéro de version :platform.python_version_tuple()

platform.python_version_tuple() renvoie un tuple (majeur, mineur, patchlevel). Le type de chaque élément est str, pas int.

platform.python_version_tuple()
Renvoie la version de Python sous forme de tuple (majeur, mineur, patchlevel) de chaînes.
platform — Accès aux données d’identification de la plateforme sous-jacente — Documentation Python 3.7.4

print(platform.python_version_tuple())
# ('3', '7', '0')

print(type(platform.python_version_tuple()))
# <class 'tuple'>

Comme il ne s’agit que d’un tuple, contrairement à sys.version_info, il n’est pas possible d’y accéder par son nom, tel que majeur ou mineur.