- À propos de la version de Python
- Afficher la version avec sys.version
- Obtenir les informations avec sys.version_info
- Récupérer les numéros major, minor et micro
- Construire une chaîne contenant la version de Python
- Tester la version de Python
- Exiger une version minimale de Python
- Utiliser différentes instructions selon la version
- Différence entre sys.version et sys.version_info
- À retenir
1. À propos de la version de Python
Le module sys fournit plusieurs informations concernant l'interpréteur Python utilisé pour exécuter un programme. Parmi celles-ci, sys.version et sys.version_info permettent de connaître la version de Python actuellement utilisée.
Ces informations peuvent être utiles pour vérifier la compatibilité d'un programme avec une version particulière de Python ou pour adapter son comportement selon la version de l'interpréteur.
Le programme suivant importe simplement le module sys et affiche les deux informations principales relatives à la version de Python.
1 2 3 4 | import sys print(sys.version) print(sys.version_info) |
Sortie possible :
1 2 | 3.14.2 (tags/v3.14.2:..., Dec 5 2025, ...) [MSC v.1944 64 bit (AMD64)] sys.version_info(major=3, minor=14, micro=2, releaselevel='final', serial=0) |
La sortie exacte dépend de la version de Python, du système d'exploitation et de l'interpréteur installé sur l'ordinateur.
2. Afficher la version avec sys.version
La variable sys.version contient une chaîne de caractères donnant des informations sur la version de Python utilisée. Elle contient généralement le numéro de version ainsi que des informations concernant la compilation de l'interpréteur.
Le programme suivant affiche directement le contenu de sys.version.
1 2 3 | import sys print(sys.version) |
Sortie possible :
1 | 3.14.2 (tags/v3.14.2:..., Dec 5 2025, ...) [MSC v.1944 64 bit (AMD64)] |
Si nous souhaitons seulement connaître le numéro principal affiché au début de cette chaîne, nous pouvons séparer celle-ci au niveau du premier espace.
1 2 3 4 | import sys version = sys.version.split()[0] print("Version de Python :", version) |
Sortie possible :
1 | Version de Python : 3.14.2 |
3. Obtenir les informations avec sys.version_info
La variable sys.version_info fournit les différentes composantes de la version de Python sous une forme structurée. Elle est particulièrement pratique lorsque le programme doit effectuer des comparaisons entre versions.
Le programme suivant affiche directement sys.version_info.
1 2 3 | import sys print(sys.version_info) |
Sortie possible :
1 | sys.version_info(major=3, minor=14, micro=2, releaselevel='final', serial=0) |
Les principales informations disponibles sont :
- major : numéro de version majeure.
- minor : numéro de version mineure.
- micro : numéro de version de maintenance.
- releaselevel : niveau de publication, par exemple alpha, beta, candidate ou final.
- serial : numéro associé au niveau de publication.
4. Récupérer les numéros major, minor et micro
Les attributs major, minor et micro de sys.version_info permettent d'obtenir séparément les différentes parties du numéro de version.
Le programme suivant affiche chacune de ces informations.
1 2 3 4 5 | import sys print("Version majeure :", sys.version_info.major) print("Version mineure :", sys.version_info.minor) print("Version micro :", sys.version_info.micro) |
Sortie possible :
1 2 3 | Version majeure : 3 Version mineure : 14 Version micro : 2 |
Nous pouvons également récupérer le niveau de publication et le numéro serial.
1 2 3 4 | import sys print("Niveau :", sys.version_info.releaselevel) print("Numéro serial :", sys.version_info.serial) |
Sortie possible :
1 2 | Niveau : final Numéro serial : 0 |
5. Construire une chaîne contenant la version de Python
Les informations fournies par sys.version_info peuvent être utilisées pour construire une chaîne contenant uniquement le numéro de version qui nous intéresse.
Le programme suivant utilise une f-string pour construire une version sous la forme major.minor.micro.
1 2 3 4 5 6 | import sys v = sys.version_info version = f"{v.major}.{v.minor}.{v.micro}" print("Python", version) |
Sortie possible :
1 | Python 3.14.2 |
Si seule la version majeure et mineure nous intéresse, nous pouvons utiliser uniquement major et minor.
1 2 3 4 5 6 | import sys v = sys.version_info version = f"{v.major}.{v.minor}" print("Version :", version) |
Sortie possible :
1 | Version : 3.14 |
6. Tester la version de Python
L'un des principaux avantages de sys.version_info est la possibilité de comparer directement la version de Python avec un tuple représentant une autre version.
Le programme suivant vérifie si Python est au moins en version 3.10.
1 2 3 4 5 6 | import sys if sys.version_info >= (3, 10): print("Python 3.10 ou une version plus récente.") else: print("Version antérieure à Python 3.10.") |
Sortie possible :
1 | Python 3.10 ou une version plus récente. |
Il est préférable de comparer les versions de cette manière plutôt que de comparer des chaînes de caractères représentant les numéros de version.
Le programme suivant vérifie uniquement si l'interpréteur appartient à la famille Python 3.
1 2 3 4 5 6 | import sys if sys.version_info.major == 3: print("Vous utilisez Python 3.") else: print("Vous n'utilisez pas Python 3.") |
Sortie :
1 | Vous utilisez Python 3. |
7. Exiger une version minimale de Python
Certains programmes utilisent des fonctionnalités disponibles uniquement à partir d'une certaine version de Python. Nous pouvons combiner sys.version_info et sys.exit() pour interrompre le programme si l'interpréteur est trop ancien.
Le programme suivant exige au minimum Python 3.10.
1 2 3 4 5 6 | import sys if sys.version_info < (3, 10): sys.exit("Erreur : Python 3.10 ou une version plus récente est nécessaire.") print("Version de Python compatible.") |
Sortie possible :
1 | Version de Python compatible. |
Si le programme est exécuté avec une version antérieure à Python 3.10, l'exécution s'arrête avec le message indiqué.
1 | Erreur : Python 3.10 ou une version plus récente est nécessaire. |
Sortie attendue sur une version incompatible :
1 | Erreur : Python 3.10 ou une version plus récente est nécessaire. |
8. Utiliser différentes instructions selon la version
La version de Python peut également être utilisée pour adapter le comportement d'un programme. Nous pouvons exécuter une partie du code pour les versions récentes et une autre pour les versions plus anciennes.
Le programme suivant affiche un message différent selon que Python est au moins en version 3.12.
1 2 3 4 5 6 | import sys if sys.version_info >= (3, 12): print("Version récente de Python.") else: print("Version antérieure à Python 3.12.") |
Sortie possible :
1 | Version récente de Python. |
Nous pouvons également effectuer plusieurs tests afin de distinguer différentes familles de versions.
1 2 3 4 5 6 7 8 | import sys if sys.version_info >= (3, 14): print("Python 3.14 ou plus récent") elif sys.version_info >= (3, 12): print("Python 3.12 ou 3.13") else: print("Version antérieure à Python 3.12") |
Sortie possible :
1 | Python 3.14 ou plus récent |
9. Différence entre sys.version et sys.version_info
sys.version et sys.version_info fournissent toutes les deux des informations sur la version de Python, mais elles ne sont pas destinées exactement aux mêmes usages.
| Élément | Type d'information | Utilisation principale |
|---|---|---|
| sys.version | Chaîne de caractères | Afficher des informations lisibles sur l'interpréteur |
| sys.version_info | Informations structurées | Tester et comparer les versions |
| sys.version_info.major | Entier | Version majeure |
| sys.version_info.minor | Entier | Version mineure |
| sys.version_info.micro | Entier | Version de maintenance |
Le programme suivant affiche les deux informations afin de mettre en évidence leur différence.
1 2 3 4 5 6 7 | import sys print("sys.version :") print(sys.version) print("sys.version_info :") print(sys.version_info) |
Sortie possible :
1 2 3 4 | sys.version : 3.14.2 (tags/v3.14.2:..., Dec 5 2025, ...) [MSC v.1944 64 bit (AMD64)] sys.version_info : sys.version_info(major=3, minor=14, micro=2, releaselevel='final', serial=0) |
En pratique, sys.version convient principalement à l'affichage, tandis que sys.version_info est mieux adapté aux tests de compatibilité effectués dans le code.
10. À retenir
Le module sys permet de connaître précisément la version de Python utilisée pour exécuter un programme grâce à sys.version et sys.version_info.
- sys.version fournit une chaîne contenant des informations détaillées sur l'interpréteur Python.
- sys.version_info fournit les informations de version sous une forme structurée.
- sys.version_info.major indique la version majeure.
- sys.version_info.minor indique la version mineure.
- sys.version_info.micro indique la version de maintenance.
- releaselevel indique le niveau de publication de la version.
- serial fournit le numéro associé au niveau de publication.
- sys.version_info >= (3, 10) permet de tester facilement une version minimale.
- sys.exit() peut être utilisé pour interrompre un programme exécuté avec une version incompatible.
- Pour effectuer des comparaisons de versions dans le code, il est préférable d'utiliser sys.version_info plutôt que d'analyser sys.version.
Le programme suivant rassemble les principales informations utiles sur la version de Python et vérifie si l'interpréteur satisfait une version minimale.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import sys v = sys.version_info print("Version complète :", sys.version) print("Version majeure :", v.major) print("Version mineure :", v.minor) print("Version micro :", v.micro) print("Niveau :", v.releaselevel) if v >= (3, 10): print("Python 3.10 ou une version plus récente.") else: print("Version antérieure à Python 3.10.") |
Sortie possible :
1 2 3 4 5 6 | Version complète : 3.14.2 (tags/v3.14.2:..., Dec 5 2025, ...) [MSC v.1944 64 bit (AMD64)] Version majeure : 3 Version mineure : 14 Version micro : 2 Niveau : final Python 3.10 ou une version plus récente. |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


