Comment vérifier la version Python dans les scripts
-
Méthode
sys.version
pour vérifier la version Python -
Méthode
sys.version_info
pour vérifier la version Python -
Méthode
platform.python_version()
pour vérifier la version Python -
Méthode du module
six
pour vérifier la version de Python
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")
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