Python Language
PyInstaller - Distribuer du code Python
Recherche…
Syntaxe
- pyinstaller [options] script [script ...] | fichier spec
Remarques
PyInstaller est un module utilisé pour regrouper des applications Python dans un seul package avec toutes les dépendances. L'utilisateur peut alors exécuter l'application de package sans interpréteur python ni modules. Il regroupe correctement de nombreux paquets majeurs tels que numpy, Django, OpenCv et autres.
Quelques points importants à retenir:
- Pyinstaller prend en charge Python 2.7 et Python 3.3+
- Pyinstaller a été testé sur Windows, Linux et Mac OS X.
- Ce n'est PAS un compilateur croisé. (Une application Windows ne peut pas être empaquetée sous Linux. Vous devez exécuter PyInstaller dans Windows pour regrouper une application pour Windows)
Installation et configuration
Pyinstaller est un package Python normal. Il peut être installé en utilisant pip:
pip install pyinstaller
Installation sous Windows
Pour Windows, pywin32 ou pypiwin32 est une condition préalable. Ce dernier est installé automatiquement lorsque pyinstaller est installé à l'aide de pip.
Installation sous Mac OS X
PyInstaller fonctionne avec le Python 2.7 par défaut fourni avec Mac OS X actuel. Si des versions ultérieures de Python doivent être utilisées ou si des paquets majeurs tels que PyQT, Numpy, Matplotlib et autres doivent être utilisés, il est recommandé de les installer en utilisant soit MacPorts ou Homebrew .
Installation depuis les archives
Si pip n'est pas disponible, téléchargez l'archive compressée depuis PyPI .
Pour tester la version de développement, téléchargez l'archive compressée à partir de la branche de développement de la page Téléchargements de PyInstaller .
Développez l'archive et recherchez le script setup.py
. Exécutez python setup.py install
avec le privilège administrateur pour installer ou mettre à niveau PyInstaller.
Vérification de l'installation
Le programme de pyinstaller
commande doit exister sur le chemin du système pour toutes les plates-formes après une installation réussie.
Vérifiez-le en tapant pyinstaller --version
dans la ligne de commande. Cela imprimera la version actuelle du programme de désinstallation.
Utilisation de Pyinstaller
Dans le cas d'utilisation le plus simple, accédez simplement au répertoire dans lequel se trouve votre fichier et tapez:
pyinstaller myfile.py
Pyinstaller analyse le fichier et crée:
- Un fichier myfile.spec dans le même répertoire que
myfile.py
- Un dossier de compilation dans le même répertoire que
myfile.py
- Un dossier dist dans le même répertoire que
myfile.py
- Fichiers journaux dans le dossier de génération
L'application fournie peut être trouvée dans le dossier dist
Les options
Plusieurs options peuvent être utilisées avec pyinstaller. Une liste complète des options peut être trouvée ici .
Une fois empaquetée, votre application peut être exécutée en ouvrant «dist \ myfile \ myfile.exe».
Regrouper dans un dossier
Lorsque PyInstaller est utilisé sans aucune option pour regrouper myscript.py
, la sortie par défaut est un seul dossier (nommé myscript
) contenant un exécutable nommé myscript
( myscript.exe
dans Windows) avec toutes les dépendances nécessaires.
L'application peut être distribuée en compressant le dossier dans un fichier zip.
Un mode Dossier peut être défini explicitement à l'aide de l'option -D
ou --onedir
pyinstaller myscript.py -D
Avantages:
L'un des principaux avantages du regroupement dans un seul dossier est qu'il est plus facile de déboguer les problèmes. Si des modules ne parviennent pas à importer, il peut être vérifié en inspectant le dossier.
Un autre avantage est ressenti pendant les mises à jour. S'il y a quelques modifications dans le code mais que les dépendances utilisées sont exactement les mêmes, les distributeurs peuvent simplement envoyer le fichier exécutable (qui est généralement plus petit que le dossier entier).
Désavantages
Le seul inconvénient de cette méthode est que les utilisateurs doivent rechercher l'exécutable parmi un grand nombre de fichiers.
Les utilisateurs peuvent également supprimer / modifier d'autres fichiers, ce qui pourrait empêcher l'application de fonctionner correctement.
Regroupement dans un fichier unique
pyinstaller myscript.py -F
Les options pour générer un seul fichier sont -F
ou --onefile
. Cela regroupe le programme dans un seul fichier myscript.exe
.
Les fichiers exécutables uniques sont plus lents que le groupe à un dossier. Ils sont également plus difficiles à déboguer.