Compiler un script Python avec auto-py-to-exe

C

Compilation

Après avoir testé plusieurs bibliothèques Python pour compiler mon script, et constaté que certaines étaient parfois inefficaces, j’ai découvert l’interface graphique d’auto-py-to-exe pour compiler mes scripts. Je débute un peu dans ce domaine…
L’idée de la compilation est bien entendu de permettre aux utilisateurs de se passer de l’environnement Python en utilisant une version compilée (exécutable) du script, intégrant l’environnement, les bibliothèques, etc., sans manipulation supplémentaire, simplement en cliquant sur le fichier exécutable.
Je précise que cette compilation est valable pour Mac. En effet, « auto-py-to-exe » (attention à la confusion avec le « exe » dans le titre qui pourrait faire référence au .exe de Windows) détecte l’environnement de la machine (Windows ou OS) à partir duquel le script compilera le fichier POUR le système d’exploitation de votre machine. Il n’est donc pas possible de compiler à partir d’un environnement MacOS pour Windows (du moins, je n’ai pas trouvé la solution, mais comme je l’ai dit, je suis novice dans ce domaine).

Si vous exécutez auto-py-to-exe sur Windows, il générera un fichier exécutable .exe compatible avec Windows.
Dans mon exemple, j’ai choisi de compiler le script permettant de rechercher les doublons et les articles trop courts dans Europresse. L’article et le script sont disponibles ici.

Création de l’exécutable avec Auto-py-to-exe

Pour convertir un script Python en exécutable sur Mac, la méthode la plus simple est d’utiliser l’outil « auto-py-to-exe ».
A partir du Terminal de votre Mac vous i
nstallez auto-py-to-exe avec la commande :

pip3 install auto-py-to-exe

Toujours dans le Terminal de votre Mac, il faut ensuite exécuter la commande auto-py-to-exe pour lancer l’interface graphique d’auto-py-to-exe.
Rien de plus simple !

Les options de l’interface

L’interface est simple et épurée. Cette interface graphique utilise la bibliothèque PyInstaller, qui fonctionne en arrière-plan.
Il y a deux modalités de compilation : Soit vous compilez pour obtenir un répertoire contenant un exécutable (.app) et les fichiers nécessaires au programme. Soit vous compilez de façon à obtenir un unique fichier exécutable (.app).

Dans l’interface, cliquez sur le bouton « Navigateur » (comprenez : « votre répertoire de votre fichier ») et sélectionnez votre fichier Python à convertir.

Assurez-vous de sélectionner l’option « Un répertoire » (–onedir) (En effet, un exécutable simple (–onefile) a fait déclencher « CleanMyMac »).
Vous obtiendrez ainsi un exécutable accompagné d’un répertoire contenant les fichiers essentiels au programme.

L’option « Console Windows » (–console / –windowed) dans auto-py-to-exe détermine si l’exécutable généré s’ouvrira avec ou sans fenêtre de console de votre Terminal.
Plus précisément :

  • L’option –console (ou mode Console Windows) fait en sorte que l’exécutable s’ouvre avec la fenêtre du « Terminal » visible.
  • L’option –windowed (ou mode Windows sans console – « Hide console ») crée un exécutable sans fenêtre de « Terminal » visible. C’est le mode typique pour les applications avec une interface graphique.

Vous pouvez sélectionner un répertoire cible pour attribuer une icône (fichier image au format .ico), qui fonctionne uniquement si vous choisissez cette option.
Cliquez sur « Convert .py to .exe » pour démarrer la conversion. Une fois la conversion terminée, un dossier « output » sera créé contenant votre « Fichier exécutable Unix« . (Les fichiers exécutables Unix sont des programmes qui peuvent être exécutés directement par le système d’exploitation Unix ou macOS).

Vous pouvez alors double-cliquer sur le fichier exécutable qui se trouve dans le répertoire « Compil-RDE » (c’est le nom que j’ai donné) pour exécuter le script Python.

 

Lenteur au démarrage

La création d’un exécutable à partir d’un script Python avec des outils comme auto-py-to-exe peut entraîner un temps de démarrage plus long que l’exécution directe du script (c’est le cas notamment si vous choisissez l’option avec l’affichage de la console en arrière plan –console). Cela est dû au fait que l’exécutable doit charger l’interpréteur Python intégré ainsi que toutes les bibliothèques et dépendances nécessaires au fonctionnement du programme.

 

Conclusion

Cet article vous montre qu’il est assez simple de compiler vos scripts en Python, que ce soit sous Windows ou macOS.


En prime, cela me permet de compiler mon premier programme 😉 que j’ai déposé sur GoogleDrive. (RDE : Recherche de Doublons dans un corpus Europresse)
Enjoy !

 

A propos de l'auteur

Stéphane Meurisse

Ajouter un commentaire

Stéphane Meurisse