Comment vérifier la version Python dans les scripts

Jinku Hu 10 octobre 2023
  1. Méthode sys.version pour vérifier la version Python
  2. Méthode sys.version_info pour vérifier la version Python
  3. Méthode platform.python_version() pour vérifier la version Python
  4. Méthode du module six pour vérifier la version de Python
Comment vérifier la version Python dans les scripts

Dans différentes circonstances, nous devons connaître la version Python, ou plus précisément, la version de l’interpréteur Python qui exécute le fichier de script Python.

Méthode sys.version pour vérifier la version Python

Cette information de version peut être récupérée à partir de sys.version dans le module sys.

En Python 2.x

>>> import sys
>>> sys.version
'2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)]'

ou en Python 3.x

>>> import sys
>>> sys.version
'3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]'

Méthode sys.version_info pour vérifier la version Python

sys.version retourne une chaîne contenant les informations de version lisibles par l’homme de l’interpréteur Python actuel. Mais les informations comme le major release number et le micro release number ont besoin d’un traitement supplémentaire pour être dérivées pour une utilisation ultérieure dans les codes.

sys.version_info résout ce problème facilement en retournant l’information de version sous la forme d’un n-uplet nommé. Les données de version qu’il retourne sont,

Données Description
major Numéro de la version majeure
micro Numéro de libération du patch
minor Numéro de libération mineure
releaselevel alpha, beta, candidate ou release
serial Numéro de série
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)

Vous pouvez comparer la version actuelle avec la version de référence en utilisant simplement les opérateurs >, >=, ==, <= ou <.

>>> import sys
>>> sys.version_info >= (2, 7)
True
>>> sys.version_info >= (2, 7, 11)
False

Nous pourrions ajouter un assert dans les scripts pour s’assurer que le script fonctionne avec l’exigence d’une version minimale de Python.

import sys

assert sys.version_info >= (3, 7)

Cela provoquera une AssertionError si l’interpréteur ne répond pas aux exigences de la version.

Traceback (most recent call last):
  File "C:\test\test.py", line 4, in <module>
    assert sys.version_info >= (3, 7)
AssertionError

Méthode platform.python_version() pour vérifier la version Python

python_version() dans le module platform retourne la version Python sous la forme de la chaîne major.minor.patchlevel.

>>> from platform import python_version
>>> python_version()
'3.7.0'

Ou similaire à sys.version_info, platform a aussi une méthode pour retourner la version Python comme tuple (major, minor, patchlevel) de chaînes - python_version_tuple().

>>> import platform
>>> platform.python_version_tuple()
('3', '7', '0')

Méthode du module six pour vérifier la version de Python

Si vous avez seulement besoin de vérifier si la version Python est Python 2.x ou Python 3.x, vous pouvez utiliser six module pour faire le travail.

from __future__ import print_function

import six

if six.PY2:
    print("Python 2.x")
if six.PY3:
    print ("Python 3.x")
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Article connexe - Python Version