Pourquoi convertir PYC en EXE ?
La raison principale de créer un .exe est la distribution : un exécutable packagé fonctionne sous Windows sans que Python ne soit installé, supprimant l'exigence de configuration pour les utilisateurs finaux ou les machines que vous ne contrôlez pas. Un .pyc est du bytecode qui dépend de l'interpréteur Python au moment de l'exécution et ne peut pas fonctionner comme un exécutable autonome.
Comment convertir PYC en EXE
PyInstaller FREE
Installez avec pip install pyinstaller, exécutez pyinstaller --onefile your_script.py, et trouvez le .exe résultant dans le dossier dist/. Utilisez --noconsole pour les applications GUI et --icon=app.ico pour définir une icône personnalisée.
cx_Freeze FREE
Installez avec pip install cx_Freeze, créez un setup.py avec votre script comme Executable, et exécutez python setup.py build ; la sortie apparaît dans un dossier build/ qui doit être distribué dans son ensemble.
À propos de ces formats
Un fichier .pyc est du bytecode Python compilé que CPython met automatiquement en cache pour accélérer le démarrage. Vous n'avez normalement pas besoin de l'ouvrir ou de le modifier. Pour…
Ouvrir les détails de .PYC →Un fichier EXE est un programme exécutable Windows. Sous Windows, double-cliquez dessus pour le lancer. Sur Mac ou Linux, utilisez CrossOver ou Wine - les EXE ne s'exécutent pas nativement…
Ouvrir les détails de .EXE →Qualité et points de vigilance
- Vous avez besoin des fichiers sources
.py, pas seulement du.pyc; si vous n'avez qu'un.pyc, décompilez-le d'abord, sachant que la décompilation est imparfaite pour Python 3.9 et versions ultérieures. - Le
.exeproduit est spécifique à la plateforme - la compilation sous Windows crée un exécutable Windows et vous ne pouvez pas effectuer de compilation croisée vers un autre OS. - Testez le
.exesur une machine propre sans Python installé pour confirmer que tous les imports et dépendances ont été correctement capturés.
Foire aux questions
Quelle est la différence entre PyInstaller et cx_Freeze ?
--onefile qui produit un seul .exe autonome ; cx_Freeze produit toujours un dossier de fichiers qui doivent être conservés ensemble.Puis-je construire un .exe directement à partir d'un fichier .pyc ?
.py ; si vous n'avez qu'un .pyc, décompilez-le d'abord en .py.