Obtenir les informations sur la compilation de Python avec platform.python_build() et platform.python_compiler()

1. À propos des informations de compilation de Python

Le module platform de la bibliothèque standard fournit plusieurs fonctions permettant d'obtenir des informations sur l'environnement dans lequel Python est exécuté. Parmi elles, platform.python_build() et platform.python_compiler() permettent d'obtenir des renseignements concernant la construction de l'interpréteur Python et le compilateur utilisé pour le construire.

Ces informations sont différentes de la simple version de Python. Deux installations peuvent par exemple utiliser la même version du langage tout en ayant été construites à des dates différentes ou avec des outils de compilation différents.

Le programme suivant affiche directement les informations retournées par les deux fonctions.

Sortie possible :

La sortie exacte dépend de la distribution Python, du système d'exploitation, de la version installée et des outils utilisés lors de la construction de l'interpréteur.

2. Obtenir les informations de build avec platform.python_build()

La fonction platform.python_build() retourne des informations concernant le build de Python. Elle ne nécessite aucun argument et retourne deux chaînes de caractères regroupées dans un tuple.

Le programme suivant affiche le résultat retourné par python_build().

Sortie possible :

Il est également possible d'importer directement la fonction python_build() depuis le module platform.

Sortie possible :

Les informations retournées permettent notamment de distinguer différentes constructions d'une même version de Python.

3. Comprendre le tuple retourné par platform.python_build()

La fonction platform.python_build() retourne un tuple de deux chaînes. La première correspond au numéro ou identifiant de build fourni par l'interpréteur, tandis que la seconde contient la date de construction associée.

Le programme suivant vérifie le type du résultat retourné.

Sortie possible :

Nous pouvons accéder séparément aux deux éléments du tuple à l'aide des indices 0 et 1.

Sortie possible :

Une écriture plus lisible consiste à utiliser le déballage de tuple pour placer directement les deux valeurs dans des variables distinctes.

Sortie possible :

Il faut garder à l'esprit que le contenu exact de ces deux chaînes dépend de la façon dont l'interpréteur Python a été construit.

4. Identifier le compilateur avec platform.python_compiler()

La fonction platform.python_compiler() retourne une chaîne décrivant le compilateur utilisé pour construire Python. Contrairement à python_build(), elle retourne directement une chaîne et non un tuple.

Le programme suivant affiche le compilateur associé à l'interpréteur Python en cours d'utilisation.

Sortie possible sous Windows :

Nous pouvons également vérifier le type de la valeur retournée par python_compiler().

Sortie possible :

Sur d'autres plateformes ou avec d'autres distributions de Python, la chaîne peut mentionner un compilateur différent, par exemple une version de GCC ou de Clang.

5. Comparer python_build() et python_compiler()

Les fonctions platform.python_build() et platform.python_compiler() fournissent des informations complémentaires. La première renseigne sur le build de Python, tandis que la seconde indique le compilateur utilisé pour construire l'interpréteur.

Le programme suivant permet d'afficher les deux informations simultanément.

Sortie possible :

Les types retournés sont également différents. python_build() retourne un tuple alors que python_compiler() retourne une chaîne de caractères.

Sortie :

Ces deux fonctions ne doivent donc pas être confondues : elles décrivent deux aspects différents de la construction de l'interpréteur Python.

6. Associer la compilation à la version et à l'implémentation Python

Les informations concernant la compilation deviennent plus utiles lorsqu'elles sont associées à la version de Python. La fonction platform.python_version() permet d'ajouter cette information.

Le programme suivant affiche la version, le build et le compilateur.

Sortie possible :

Nous pouvons également ajouter platform.python_implementation() afin de connaître l'implémentation de Python utilisée.

Sortie possible :

Cette combinaison permet de distinguer clairement l'implémentation Python, sa version, les informations relatives à son build et le compilateur avec lequel elle a été construite.

7. Tester les informations de compilation dans un programme

Comme platform.python_compiler() retourne une chaîne, il est possible d'effectuer des recherches dans cette valeur. Cette technique peut servir à produire un diagnostic, mais elle doit être utilisée avec prudence puisque le contenu retourné varie selon les plateformes et les distributions.

Le programme suivant recherche quelques noms de compilateurs dans la chaîne retournée.

Sortie possible sous Windows :

Nous pouvons également vérifier si une information sur le compilateur est disponible avant de l'afficher.

Sortie possible :

Ce type de test est surtout utile pour établir un diagnostic technique. Il est préférable de ne pas supposer qu'un texte identique sera retourné sur toutes les installations Python.

8. Créer une fonction d'information sur la compilation de Python

Lorsque les informations de compilation doivent être utilisées plusieurs fois, nous pouvons créer une fonction qui rassemble python_build() et python_compiler(). Le résultat peut être retourné sous forme de dictionnaire afin de faciliter son exploitation.

La fonction suivante récupère séparément l'identifiant du build, sa date et le compilateur.

Sortie possible :

Nous pouvons ensuite parcourir le dictionnaire afin d'afficher chaque information sur une ligne distincte.

Sortie possible :

Cette fonction peut être intégrée dans un programme de diagnostic Python, un rapport technique ou un outil destiné à recueillir les caractéristiques de l'environnement d'exécution.

9. Créer une fiche complète de l'environnement Python

Les fonctions python_build() et python_compiler() peuvent être combinées avec d'autres fonctions du module platform afin d'obtenir une description beaucoup plus complète de l'environnement Python et du système.

Le programme suivant rassemble la version, l'implémentation, le build, le compilateur, l'architecture Python, le système et la machine.

Sortie possible :

Nous pouvons également placer ces informations dans un dictionnaire afin de pouvoir les enregistrer, les transmettre ou les traiter plus facilement.

Sortie possible :

Une telle fiche est particulièrement utile pour documenter un environnement de développement, rechercher l'origine d'un problème de compatibilité ou transmettre des informations techniques précises lors d'un diagnostic.

10. À retenir !

Les fonctions platform.python_build() et platform.python_compiler() permettent d'obtenir des informations complémentaires concernant la construction de l'interpréteur Python. Elles appartiennent au module platform de la bibliothèque standard et ne nécessitent donc l'installation d'aucun package supplémentaire.

  • platform.python_build() retourne des informations concernant le build de Python.
  • Le résultat de python_build() est un tuple contenant deux chaînes de caractères.
  • Le premier élément correspond à l'identifiant ou au numéro du build fourni par l'interpréteur.
  • Le second élément fournit la date associée au build.
  • platform.python_compiler() retourne une chaîne décrivant le compilateur utilisé pour construire Python.
  • Le compilateur peut notamment être lié à Microsoft C/C++, GCC ou Clang selon la plateforme et la distribution.
  • platform.python_version() permet d'ajouter le numéro de version de Python aux informations de compilation.
  • platform.python_implementation() permet d'identifier l'implémentation telle que CPython ou PyPy.
  • Les valeurs retournées peuvent varier selon le système, la distribution et la manière dont Python a été construit.
  • Ces fonctions sont particulièrement utiles pour le diagnostic, la documentation d'un environnement et l'analyse des problèmes de compatibilité.

Le programme suivant rassemble les principales informations concernant la version, l'implémentation et la compilation de 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 *