Connaître les différentes versions de Python avec platform.python_version() et platform.python_version_tuple()

1. À propos des versions de Python avec le module platform

Le module platform de la bibliothèque standard de Python fournit plusieurs fonctions permettant d'obtenir des informations sur le système d'exploitation, la machine et l'environnement Python. Parmi ces fonctions, platform.python_version() et platform.python_version_tuple() permettent de connaître précisément la version de Python utilisée pour exécuter un programme.

Une version de Python est généralement composée de trois parties : une version majeure, une version mineure et une version micro. Une version telle que Python 3.14.1 possède ainsi le numéro majeur 3, le numéro mineur 14 et le numéro micro 1.

Le programme suivant affiche les informations fournies par les deux fonctions afin d'observer immédiatement la différence entre leurs résultats.

Sortie possible :

python_version() retourne donc la version complète sous forme d'une chaîne, tandis que python_version_tuple() la décompose en plusieurs éléments regroupés dans un tuple.

2. Obtenir la version de Python avec platform.python_version()

La fonction platform.python_version() permet d'obtenir directement la version de Python actuellement utilisée. Elle ne nécessite aucun argument et retourne le numéro de version sous forme de chaîne de caractères.

Le programme suivant affiche simplement la version de Python utilisée pour exécuter le script.

Sortie possible :

Nous pouvons également stocker cette information dans une variable afin de la réutiliser dans le programme.

Sortie possible :

La valeur retournée étant de type str, elle peut facilement être insérée dans un message, enregistrée dans un fichier de diagnostic ou affichée dans l'interface d'une application.

3. Décomposer la version avec platform.python_version_tuple()

La fonction platform.python_version_tuple() fournit les différents composants de la version Python sous la forme d'un tuple. Cette représentation est particulièrement pratique lorsque nous souhaitons accéder séparément aux différentes parties du numéro de version.

Le programme suivant affiche directement le tuple retourné par la fonction ainsi que son type.

Sortie possible :

Nous pouvons accéder individuellement aux trois éléments avec les indices 0, 1 et 2.

Sortie possible :

Les éléments du tuple sont eux-mêmes des chaînes de caractères. Lorsque nous souhaitons effectuer des comparaisons numériques, il peut donc être nécessaire de les convertir avec int().

4. Comprendre les numéros majeur, mineur et micro

Le numéro d'une version Python est généralement organisé selon trois composantes. La première correspond à la version majeure, la deuxième à la version mineure et la troisième à la version micro.

Version majeure

La version majeure représente une évolution importante du langage. Dans Python 3.14.1, le numéro majeur est 3.

Version mineure

La version mineure correspond à une évolution de la branche majeure apportant notamment de nouvelles fonctionnalités. Dans Python 3.14.1, le numéro mineur est 14.

Version micro

La version micro correspond aux versions de maintenance d'une branche donnée. Dans Python 3.14.1, le numéro micro est 1.

Le déballage du tuple permet de placer directement ces trois éléments dans trois variables distinctes.

Sortie possible :

Nous pouvons également reconstruire une phrase complète à partir des trois variables.

Sortie possible :

Cette méthode est utile lorsque chaque composante de la version doit être utilisée séparément dans le programme.

5. Comparer python_version() et python_version_tuple()

Les fonctions platform.python_version() et platform.python_version_tuple() fournissent la même information générale, mais sous deux formes différentes. La première privilégie un affichage direct tandis que la seconde facilite l'accès aux différentes composantes de la version.

Le programme suivant compare les deux résultats.

Sortie possible :

Nous pouvons également afficher le type de chacune des valeurs retournées.

Sortie :

python_version() convient donc particulièrement à l'affichage de la version complète, tandis que python_version_tuple() est pratique lorsque nous souhaitons manipuler séparément les différentes parties du numéro de version.

6. Tester la version de Python dans un programme

La fonction platform.python_version_tuple() peut être utilisée dans une structure conditionnelle afin d'adapter un programme à la version de Python installée. Les éléments retournés étant des chaînes, il est préférable de les convertir en nombres entiers pour effectuer des comparaisons numériques.

Le programme suivant récupère la version majeure puis vérifie si le programme fonctionne avec Python 3.

Sortie possible :

Nous pouvons également examiner la version mineure afin d'effectuer un test plus précis.

Sortie possible :

La conversion avec int() évite les erreurs liées aux comparaisons lexicographiques de chaînes telles que "9" et "14".

7. Vérifier une version minimale de Python

Certains programmes nécessitent une version minimale de Python pour fonctionner correctement. Nous pouvons convertir les trois éléments retournés par platform.python_version_tuple() en entiers puis effectuer une comparaison de tuples numériques.

Le programme suivant vérifie si Python 3.10 ou une version plus récente est disponible.

Sortie possible :

Python compare les tuples élément par élément. Cette technique permet donc de comparer correctement des versions telles que 3.9.0, 3.10.0, 3.13.2 ou 3.14.1.

Nous pouvons afficher la version actuelle lorsque la version minimale n'est pas satisfaite ou simplement pour informer l'utilisateur.

Sortie possible :

Ce type de vérification est utile au démarrage d'une application qui dépend de fonctionnalités introduites dans une version précise de Python.

8. Afficher la version avec l'implémentation de Python

Le numéro de version ne constitue qu'une partie des informations concernant l'environnement Python. Le module platform fournit également platform.python_implementation(), qui permet de connaître l'implémentation Python utilisée, par exemple CPython, PyPy ou Jython selon l'environnement.

Le programme suivant associe le numéro de version à l'implémentation de Python.

Sortie possible :

Nous pouvons également ajouter l'architecture de l'exécutable afin d'obtenir une description plus complète de l'environnement Python.

Sortie possible :

Cette combinaison est particulièrement intéressante dans un outil de diagnostic Python, car elle permet de connaître simultanément l'implémentation, la version et l'architecture de l'environnement d'exécution.

9. Créer une fonction d'information sur la version de Python

Lorsque les informations concernant Python doivent être utilisées à plusieurs endroits d'une application, nous pouvons créer une fonction qui regroupe les appels aux différentes fonctions du module platform.

La fonction suivante retourne la version complète ainsi que ses trois composantes dans un dictionnaire.

Sortie possible :

Nous pouvons enrichir cette fonction avec l'implémentation et l'architecture de Python afin de construire une fiche plus complète.

Sortie possible :

Une telle fonction peut être intégrée à un programme de diagnostic, un installateur ou une application qui doit vérifier son environnement Python avant d'exécuter certaines fonctionnalités.

10. À retenir !

Les fonctions platform.python_version() et platform.python_version_tuple() permettent de connaître précisément la version de Python utilisée pour exécuter un programme. Elles appartiennent au module platform de la bibliothèque standard et ne nécessitent donc l'installation d'aucun package supplémentaire.

  • platform.python_version() retourne la version complète de Python sous forme de chaîne de caractères.
  • Une valeur telle que 3.14.1 représente les versions majeure, mineure et micro.
  • platform.python_version_tuple() retourne les différentes composantes sous forme d'un tuple.
  • Le tuple peut par exemple être ('3', '14', '1').
  • Les éléments de python_version_tuple() sont des chaînes de caractères.
  • La fonction int() permet de convertir une composante en entier pour effectuer une comparaison numérique.
  • map(int, platform.python_version_tuple()) permet de convertir les trois composantes en nombres entiers.
  • Une comparaison de tuples numériques peut servir à vérifier une version minimale de Python.
  • platform.python_implementation() permet de connaître l'implémentation Python utilisée.
  • Ces fonctions sont particulièrement utiles pour les diagnostics, les vérifications de compatibilité et les scripts d'installation.

Le programme suivant rassemble les principales informations étudiées dans ce tutoriel afin d'afficher une fiche synthétique de l'environnement Python.

Sortie possible :

 




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/


Leave a Reply

Your email address will not be published. Required fields are marked *