140 votes

Comment compiler python script en exécutable binaire

Je dois convertir un script Python en un exécutable Windows.

J'ai installé Python 2.6 sur mon ordinateur. python26 .

J'ai créé un script et l'ai gardé en C:\pythonscript . Dans ce dossier, il y a deux fichiers

Setup.py et oldlogs.py (ce fichier doit être couvert)

setup.py Le code est

from distutils.core import setup
import py2exe

setup(console=['oldlogs.py'])

Comment puis-je convertir oldlogs.py en fichier exe ?

1 votes

voir que c'est tutoriel

0 votes

Pour être complet, cx_Freeze est un autre outil que vous pouvez utiliser pour cela (avec PyInstaller et py2exe, que d'autres réponses ont déjà mentionné).

75voto

zenpoy Points 6175

Ou utilisez PyInstaller comme alternative à py2exe . Voici un bon point de départ . PyInstaller vous permet également de créer des exécutables pour linux et mac...

Voici comment on pourrait assez facilement utiliser PyInstaller pour résoudre le problème en question :

pyinstaller oldlogs.py

Dans la documentation de l'outil :

PyInstaller analyse myscript.py et :

  • Ecrit myscript.spec dans le même dossier que le script.
  • Crée un dossier build dans le même dossier que le script s'il n'existe pas.
  • Écrit certains fichiers journaux et fichiers de travail dans le dossier de construction.
  • Crée un dossier dist dans le même dossier que le script s'il n'existe pas.
  • Écrit le dossier de l'exécutable myscript dans le dossier dist.

Dans le dossier dist, vous trouvez l'application groupée que vous distribuez à vos utilisateurs.

9 votes

cx_Freeze est meilleur, il supporte même python 3.3.

0 votes

Hé, ça marche même avec vin au moins jusqu'à la version 3.4 de python, qui supporte Windows XP. Vraiment génial ! J'ai créé un exécutable Windows avec vin , python 3.4 et pip-Win (il suffit de suivre les instructions d'installation sur le site de pyinstaller) sur ma machine Fedora Linux.

3 votes

@AshwiniChaudhary, Les deux semblent être multiplateformes. Cependant, si je devais juger rapidement lequel utiliser en me basant uniquement sur les critères suivants GitHub étoiles, PyInstaller a ~4000 étoiles, cx_Freeze a 200 étoiles. Donc PyInstaller semble être plus populaire et couvre probablement plus de cas limites. _pourquoi pensez-vous cx_Freeze est meilleur que PyInstaller ?_

14voto

uhz Points 958

Je recommande PyInstaller un simple python script peut être converti en exe avec les commandes suivantes :

utils/Makespec.py [--onefile] oldlogs.py

qui crée un fichier yourprogram.spec qui est une configuration pour construire l'exe final. La commande suivante construit l'exe à partir du fichier de configuration :

utils/Build.py oldlogs.spec

Pour en savoir plus ici

10voto

vivek Points 1333

Vous aurez besoin de py2exe . Lire un Tutoriel .

6voto

Thomas K Points 16753

Pour être complet, cx_Freeze est un autre outil que vous pouvez utiliser pour cela (avec PyInstaller et py2exe, que d'autres réponses ont déjà mentionné).

4voto

hithwen Points 774

J'ai créé une présentation qui regroupe le processus de la compilation de vos sources python jusqu'à leur conditionnement pour chaque plateforme (la dernière diapositive contient des liens vers des instructions plus détaillées).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X