Présentation de PyInstaller
PyInstaller regroupe une application Python et toutes ses dépendances dans un seul package. L'utilisateur peut exécuter l'application packagée sans installer d'interpréteur Python ni de module.
Documentation: | https://pyinstaller.org/ |
---|
Code: | https://github.com/pyinstaller/pyinstaller |
---|
PyInstaller lit un script Python écrit par vous. Il analyse votre code pour découvrir tous les autres modules et bibliothèques dont votre script a besoin pour s'exécuter. Ensuite, il collecte des copies de tous ces fichiers, y compris l'interpréteur Python actif ! -- et les place avec votre script dans un seul dossier, ou éventuellement dans un seul fichier exécutable.
PyInstaller est testé sur Windows, macOS et GNU/Linux. Cependant, il ne s'agit pas d'un compilateur croisé : pour créer une application Windows, vous exécutez PyInstaller sous Windows ; pour créer une application GNU/Linux, vous l'exécutez sous GNU/Linux, etc. PyInstaller a été utilisé avec succès avec AIX, Solaris, FreeBSD et OpenBSD, mais n'est pas testé par rapport à eux dans le cadre des tests d'intégration continue.
Principaux avantages
- Fonctionne immédiatement avec n'importe quelle version de Python 3.8-3.13.
- Entièrement multiplateforme et utilise le support du système d'exploitation pour charger les bibliothèques dynamiques, garantissant ainsi une compatibilité totale.
- Regroupe correctement les principaux packages Python tels que numpy, PyQt5, PySide2, PyQt6, PySide6, wxPython, matplotlib et autres prêts à l'emploi.
- Compatible avec de nombreux packages tiers prêts à l'emploi. (Toutes les astuces nécessaires pour faire fonctionner les packages externes sont déjà intégrées.)
- Fonctionne avec la signature de code sur macOS.
- Regroupe les DLL MS Visual C++ sous Windows.
Installation
PyInstaller est disponible sur PyPI. Vous pouvez l'installer via pip :
Exigences et plates-formes testées
- Python:
- 3.8-3.13. Notez que Python 3.10.0 contient un bug le rendant insupportable par PyInstaller. PyInstaller ne fonctionnera pas non plus avec les versions bêta de Python 3.14.
- Windows (32 bits/64 bits/ARM64) :
- PyInstaller devrait fonctionner sur Windows 7 ou version ultérieure, mais nous ne prenons officiellement en charge que Windows 8+.
- La prise en charge de Python installé à partir du Windows Store sans utiliser d'environnements virtuels nécessite PyInstaller 4.4 ou version ultérieure.
- Linux :
- Distributions basées sur la libc GNU sur les architectures
x86_64
, aarch64
, i686
, ppc64le
, s390x
. - Distributions basées sur la libc musl sur les architectures
x86_64
, aarch64
. - ldd : application console pour imprimer les bibliothèques partagées requises par chaque programme ou bibliothèque partagée. Cela se trouve généralement dans le paquet de distribution glibc ou libc-bin.
- objdump : application console pour afficher les informations des fichiers objets. Cela se trouve généralement dans le package de distribution binutils.
- objcopy : application console pour copier et traduire des fichiers objets. Cela se trouve généralement également dans le package de distribution binutils.
- Les utilisateurs de Raspberry Pi sur
armv5
- armv7
doivent ajouter des piwheels comme URL d'index supplémentaire, puis pip install pyinstaller
comme d'habitude.
- macOS (
x86_64
ou arm64
) : - macOS 10.15 (Catalina) ou version ultérieure.
- Prend en charge la création d'applications
universal2
à condition que votre installation de Python et toutes vos dépendances soient également compilées universal2
.
Usage
L'utilisation de base est très simple, il suffit de l'exécuter sur votre script principal :
pyinstaller /path/to/yourscript.py
Pour plus de détails, consultez le manuel.
Plateformes non testées
Les plates-formes suivantes ont été contribuées et tout commentaire ou amélioration à leur sujet est le bienvenu.
- GratuitBSD
- Solaris
- AIX
- AIX 6.1 ou version ultérieure. PyInstaller ne fonctionnera pas avec les bibliothèques Python liées statiquement.
- ldd
- Linux sur toute autre combinaison implémentation/architecture libc non répertoriée ci-dessus.
Avant d'utiliser une plate-forme contribuée, vous devez créer le chargeur de démarrage PyInstaller. Cela se produira automatiquement lorsque vous pip install pyinstaller
à condition que vous disposiez d'un compilateur C approprié (généralement gcc
ou clang
) et que les en-têtes de développement de zlib soient déjà installés.
Soutien
- Guide de débogage officiel : https://pyinstaller.org/en/v6.11.1/when-things-go-wrong.html
- Diverses rubriques d'aide fournies par les utilisateurs : https://github.com/pyinstaller/pyinstaller/wiki
- Forums de questions et réponses sur le Web : https://github.com/pyinstaller/pyinstaller/discussions
- Forums de questions et réponses par courrier électronique : https://groups.google.com/g/pyinstaller
Modifications dans cette version
Vous pouvez trouver une liste détaillée des modifications apportées à cette version dans la section Changelog du manuel.