Vous avez développé un super outil en Python et vous souhaitez le partager à des utilisateurs qui n'ont pas forcément Python installé sur leur machine ? La solution est de convertir votre script en un fichier exécutable (** .EXE ** sous Windows).
PyInstaller est l'outil de référence pour empaqueter vos applications Python et leurs dépendances dans un seul paquet prêt à l'emploi.
Installer Pyinstaller#
Comme la plupart des bibliothèques Python, PyInstaller s'installe très simplement via le gestionnaire de paquets pip :
Préparer le script#
Prenons un exemple simple de script interactif que nous allons nommer main.py :
#!/usr/bin/env python3
# coding: utf-8
def main():
nom = input("Votre nom : ")
print(f"Hello {nom} ! Bienvenue sur Algo Jungle.")
if __name__ == "__main__":
main()
Exporter le script Python#
Pour générer l'exécutable, ouvrez votre terminal dans le dossier contenant votre script (main.py) et lancez la commande suivante :
Les options indispensables
Par défaut, un fichier .EXE est généré dans un dossier dist avec des fichiers de dépendance, une console s'affiche lors de l'exécution. Il est possible de générer un fichier .exe unique qui s'exécutera sans dépendances supplémentaires. Pour cela, il faut ajouter l'option onefile
| Option | Description |
|---|---|
--onefile |
Regroupe tout dans un seul fichier .exe unique. Plus facile à distribuer. |
--noconsole |
(ou -w) Empêche l'ouverture d'une fenêtre de terminal (utile pour les apps avec interface graphique). |
--icon=icon.ico |
Ajoute une icône personnalisée à votre fichier .exe. |
Exemple de commande optimisée :
Lancer le fichier .EXE#
Une fois la compilation terminée :
- Allez dans le dossier
dist/qui vient d'être créé. - Vous y trouverez votre fichier
main.exe(ou le nom spécifié avec--name). - Vous pouvez maintenant envoyer ce fichier seul à n'importe quel utilisateur sous Windows !
Points d'attention#
Système d'exploitation
PyInstaller n'est pas un compilateur croisé. Si vous voulez un .exe pour Windows, vous devez lancer la commande depuis Windows. Pour un exécutable Linux, lancez-la depuis Linux.
Antivirus
Il arrive que les fichiers générés avec --onefile soient détectés comme des faux positifs par certains antivirus. Ne vous inquiétez pas, c'est un comportement connu lié à la manière dont l'archive se décompresse au lancement.
Dans ce tutoriel, nous avons vu comment rendre vos scripts Python portables. Pour aller plus loin, n'hésitez pas à consulter la documentation officielle de PyInstaller. Rendez-vous très prochainement pour un nouveau tutoriel Python !
Commentaires