Vérifier et afficher la version de Python (e.g. sys.version)

Affaires

Cette section montre comment obtenir, vérifier et afficher la version de Python installée et la version de Python qui s'exécute actuellement dans le script.

Cette section explique comment vérifier la ligne de commande et le code, respectivement.

  • Vérifier et afficher la version sur la ligne de commande :--version,-V,-VV
  • Obtenez la version dans le code :sys,platform
    • Une chaîne d'informations diverses, dont un numéro de version :sys.version
    • Un tuple numérique de numéros de version :sys.version_info
    • Chaîne du numéro de version :platform.python_version()
    • Un tuple de chaînes de numéros de version :platform.python_version_tuple()

Si vous obtenez le numéro de version dans le code, vous pouvez l'afficher avec print() pour le vérifier, et aussi changer le processus en fonction de la version.

Vérifier et afficher la version sur la ligne de commande : –version, -V, -VV

Vous pouvez utiliser une invite de commande pour Windows, ou un terminal pour Mac.pythonou la commandepython3commandement.--versionFacultatif ou-Vpour l'exécuter.

$ 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 vous pouvez le voir dans l'exemple ci-dessus, en fonction de votre environnement, le système Python 2.x peut êtrepythonla série Python 3.x serapython3Il est affecté à une commande.

À partir de Python 3.6-VVa été ajoutée.-VVous pouvez voir des informations plus détaillées que

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

Obtenir la version dans le code : sys, platform

Vous pouvez également utiliser le module sys ou le module platform de la bibliothèque standard pour obtenir, vérifier et afficher la version de Python en cours d'exécution.

Exécutez le script Python pour vérifier. Le script est le même pour Windows, Mac, Ubuntu et les autres systèmes Linux.

Ceci est utile pour vérifier quelle version de Python est utilisée dans un environnement où plusieurs versions de Python sont installées, car il est possible d'exécuter Python 2 alors que vous pensiez utiliser Python 3.

Il peut également être utilisé pour le branchement conditionnel lorsque vous souhaitez passer du traitement Python 2 au traitement Python 3.

Diverses chaînes d'information, dont le numéro de version : sys.version

sys.versionest une chaîne qui indique diverses informations, dont le numéro de version.

sys.version
Une chaîne indiquant le numéro de version de l'interpréteur Python ainsi que des informations telles que le numéro de compilation et le compilateur utilisé.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

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 numérique du numéro de version : sys.version_info

sys.version_infoest un tuple indiquant le numéro de version.

sys.version_info
Un tuple de cinq valeurs indiquant le numéro de version : major, minor, micro, releaselevel et serial. Toutes les valeurs, sauf releaselevel, sont des entiers.sys — System-specific parameters and functions – Python 3.10.0 Documentation

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'>

releaselevelest une chaîne de caractères, et tous les autres éléments sont des entiers.

Vous pouvez spécifier l'index pour obtenir la valeur correspondante.

print(sys.version_info[0])
# 3

À partir de la version 2.7 pour la série Python 2 et de la version 3.1 pour la série Python 3, l'accès aux éléments à l'aide de noms (cf.majorminormicroreleaselevelserialPar exemple, si vous souhaitez obtenir la version majeure, vous pouvez utiliser Par exemple, si vous souhaitez obtenir la version majeure, vous pouvez effectuer les opérations suivantes

print(sys.version_info.major)
# 3

Si vous souhaitez déterminer si vous exécutez Python2 ou Python3, utilisez la fonctionsys.version_info.majorVous pouvez vérifier la version majeure dans2Vous pouvez ensuite utiliser Python2 pour3Puis Python3.

Un exemple de basculement entre les traitements Python 2 et Python 3 est présenté ci-dessous.

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

Si vous voulez changer le processus dans une version mineuresys.version_info.minorDéterminer le

Notez que, comme mentionné ci-dessus, l'accès aux éléments par leur nom est supporté à partir de la version 2.7 et 3.1, donc si vous êtes susceptible de l'exécuter dans une version antérieure, vous pouvez utilisersys.version_info[0]et … etsys.version_info[1]spécifié par l'index.

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

platform.python_version()est.major.minor.patchlevelUne fonction qui renvoie une chaîne de caractères au format

platform.python_version()
Renvoie la version de Python sous la forme d'une chaîne de caractères au format 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

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

Utile lorsque vous voulez obtenir le numéro de version sous la forme d'une simple chaîne.

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

platform.python_version_tuple()est.(major, minor, patchlevel)Une fonction qui renvoie un tuple de Le contenu du tuple n'est pas un nombre mais une chaîne de caractères.

platform.python_version_tuple()
Renvoie la version de Python sous la forme d'un tuple de chaînes de caractères (majeure, mineure, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

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

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

sys.version_infoPuisqu'il s'agit simplement d'un tuple, contrairement àmajoret … etminorl'accès à l'élément par son nom n'est pas autorisé.

Vérifier et afficher la version de Python (e.g. sys.version)

Cette section montre comment obtenir, vérifier et afficher la version de Python installée et la version de Python qui s'exécute actuellement dans le script.

Cette section explique comment vérifier la ligne de commande et le code, respectivement.

  • Vérifier et afficher la version sur la ligne de commande :--version,-V,-VV
  • Obtenir la version dans le code : sys,platform
    • Une chaîne d'informations diverses, dont le numéro de version : sys.version
    • Un tuple numérique de numéros de version : sys.version_info
    • Chaîne du numéro de version : platform.python_version()
    • Tuple de chaînes de numéros de version : platform.python_version_tuple()

Si vous obtenez le numéro de version dans le code, vous pouvez utiliser la fonction suivante pour l'afficher et le vérifier.print()Vous pouvez également changer le processus en fonction de la version.

Vérifier et afficher la version sur la ligne de commande : –version, -V, -VV

Vous pouvez vérifier la version en exécutant la commande suivante à partir de l'invite de commande sous Windows ou du Terminal sous Mac.

  • commande
    • python
    • python3
  • Option
    • --version
    • -V
$ 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 le montre l'exemple ci-dessus, selon l'environnement, les systèmes Python 2.x sont affectés à la commande python et les systèmes Python 3.x sont affectés à la commande python3.

L'option -VV a été ajoutée dans Python 3.6. L'option -VV affiche des informations plus détaillées que l'option -V.

$ python3 -VV
Python 3.7.0 (default, Oct 21 2020, 10:23:15) 
[Clang 9.1.0 (clang-902.0.39.2)]

Obtenir la version dans le code : sys, platform

Vous pouvez également utiliser le module sys ou le module platform de la bibliothèque standard pour obtenir, vérifier et afficher la version de Python en cours d'exécution.

Exécutez le script Python pour vérifier. Le script est le même pour Windows, Mac, Ubuntu et les autres systèmes Linux.

Ceci est utile pour vérifier quelle version de Python est utilisée dans un environnement où plusieurs versions de Python sont installées, car il est possible d'exécuter Python 2 alors que vous pensiez utiliser Python 3.

Il peut également être utilisé pour le branchement conditionnel lorsque vous souhaitez passer du traitement Python 2 au traitement Python 3.

Diverses chaînes d'information, dont le numéro de version : sys.version

sys.version
Il s'agit d'une chaîne de caractères qui indique diverses informations, notamment le numéro de version.

sys.version
Une chaîne indiquant le numéro de version de l'interpréteur Python ainsi que des informations telles que le numéro de compilation et le compilateur utilisé.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

import sys

print(sys.version)
# 3.7.0 (default, Oct 21 2020, 10:23:15) 
# [Clang 9.1.0 (clang-902.0.39.2)]

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

Tuple numérique du numéro de version : sys.version_info

sys.version_info
C'est un tuple qui indique le numéro de version.

sys.version_info
Un tuple de cinq valeurs indiquant le numéro de version : major, minor, micro, releaselevel et serial, qui sont tous des entiers sauf releaselevel.
sys — System-specific parameters and functions – Python 3.10.0 Documentation

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
Il s'agit d'une chaîne de caractères, et tous les autres éléments sont des entiers.

Vous pouvez spécifier l'index pour obtenir la valeur correspondante.

print(sys.version_info[0])
# 3

À partir de la version 2.7 pour la série Python 2 et de la version 3.1 pour la série Python 3, l'accès par nom à l'élément suivant est également pris en charge.

  • major
  • minor
  • micro
  • releaselevel
  • serial

Par exemple, si vous souhaitez obtenir la version majeure, procédez comme suit

print(sys.version_info.major)
# 3

Si vous souhaitez déterminer si vous utilisez Python 2 ou Python 3, vous pouvez utiliser le code suivant pour vérifier la version majeure.
sys.version_info.majorSi la valeur de retour est 2, il s'agit de Python2, si elle est 3, il s'agit de Python3.

Un exemple de basculement entre les traitements Python 2 et Python 3 est présenté ci-dessous.

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

Si vous voulez changer le processus avec une version mineure, déterminez les valeurs suivantes.
sys.version_info.minor

Notez que, comme mentionné ci-dessus, l'accès à l'élément par son nom est pris en charge à partir des versions 2.7 et 3.1, donc s'il peut être exécuté dans des versions antérieures, spécifiez-le par son indice comme suit.

  • sys.version_info[0]
  • sys.version_info[1]

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

platform.python_version() est une fonction qui renvoie une chaîne au format major.minor.patchlevel.

platform.python_version()
Renvoie la version de Python sous la forme d'une chaîne de caractères au format 'major.minor.patchlevel'.
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

import platform

print(platform.python_version())
# 3.7.0

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

Utile lorsque vous voulez obtenir le numéro de version sous la forme d'une simple chaîne.

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

platform.python_version_tuple() est une fonction qui renvoie un tuple de (major, minor, patchlevel).
Le contenu d'un tuple n'est pas un nombre, mais une chaîne de caractères.

platform.python_version_tuple()
Renvoie la version de Python sous la forme d'un tuple de chaînes de caractères (majeure, mineure, patchlevel).
platform — Access to underlying platform’s identifying data – Python 3.10.0 Documentation

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

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

Contrairement à sys.version_info, c'est juste un tuple, donc l'accès aux éléments par leur nom n'est pas possible.