Processus pour convertir un simple script Python en exécutable Windows
j'ai écrit un script qui aidera un utilisateur de Windows dans sa vie quotidienne. Je veux simplement lui envoyer de l' .exe et ne pas lui demander d'installer python, dlls ou avoir affaire à des fichiers supplémentaires.
j'ai lu beaucoup d'entrées stackoverflow concernant la compilation de scripts Python dans des fichiers exécutables. Je suis un peu confus car il ya beaucoup d'options, mais certains semblent datés (pas de mises à jour depuis 2008) et aucun n'était assez simple pour moi de ne pas poser cette question en ce moment après quelques heures passé sur le présent.
j'espère qu'il y a une meilleure façon de le faire.
j'ai regardé:
mais soit je ne pouvais pas les faire travailler ou ne pouvais pas comprendre comment obtenir le résultat dont j'ai besoin. Le plus proche que j'ai eu était avec py2exe mais il m'a quand même donné le MSVCR71.dll
j'apprécierais une réponse pas-à-pas car je n'ai pas été en mesure de suivre certaines des réponses ici qui nécessitent une compréhension préalable de la façon d'utiliser py2exe ou certains des autres outils.
J'utilise Python 2.5 Car l'un des modules n'est disponible que pour cette version.
7 réponses
PyInstaller va créer un exécutable à un seul fichier si vous utilisez l'option --onefile
(bien que ce qu'il fait réellement est des extraits puis s'exécute lui-même).
il y a un simple tutoriel PyInstaller ici . Si vous avez des questions sur son utilisation, merci de les poster...
utilisez py2exe, incluez - le dans votre setup.py:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1}},
windows = [{'script': "YourScript.py"}],
zipfile = None,
)
alors vous pouvez l'exécuter par l'invite de commande / Idle, les deux fonctionne pour moi. Espérons que cela aide
je vous recommande d'aller à http://sourceforge.net/projects/py2exe/files/latest/download?source=files pour télécharger py2exe. Puis créer un fichier python nommé setup.py. À l'intérieur, tapez
from distutils.core import setup
import py2exe
setup(console=['nameoffile.py'])
Enregistrer dans votre dossier utilisateur Également enregistrer le fichier que vous voulez convertir dans ce même dossier
lancer l'invite de commande de la fenêtre
tapez setup.py install py2exe
il devrait imprimer de nombreuses lignes de code...
Ensuite, ouvrez le dossier dist.
lancez le fichier exe
.
s'il y a des fichiers nécessaires pour que le programme fonctionne, déplacez-les dans le dossier
copier / envoyer le dossier dist à personne.
optionnel: changer le nom du dossier dist
j'Espère que ça fonctionne!:)
je me joins à @Nicholas pour recommander PyInstaller (avec le drapeau --onefile
), mais être averti : do pas utiliser la" dernière version", PyInstaller 1.3 -- c'est années Vieux. Utilisez le" pré-release "1.4, téléchargez le ici -- ou encore mieux le code du SVN repo -- installez SVN et lancez svn co http://svn.pyinstaller.org/trunk pyinstaller
.
As @Nicholas implique, les bibliothèques dynamiques ne peuvent pas être exécuter à partir du même fichier que le reste de l'exécutable -- mais heureusement elles peuvent être emballées avec tout le reste dans un exécutable "auto-déballage" qui va se déballer dans un répertoire temporaire si nécessaire; PyInstaller fait un bon travail à ce (et à beaucoup d'autres choses -- py2exe
est plus populaire, mais pyinstaller
à mon avis est préférable à tous les autres égards).
1) Obtenez py2exe de ici , selon votre version Python.
2) Faire un fichier appelé "setup.py" dans le même dossier que le script que vous voulez convertir, ayant le code suivant:
from distutils.core import setup import py2exe setup(console=['myscript.py']) #change 'myscript' to your script
3) Allez à l'invite de commande, naviguez vers ce dossier, et tapez:
python setup.py py2exe
4) il générera un dossier" dist " dans le même dossier que script. Ce dossier contient les .EXE.
vous pouvez voir si votre application peut fonctionner sous IronPython. Si oui, vous pouvez le compiler pour un exe http://www.codeplex.com/IronPython
vous pouvez créer un programme d'installation pour votre fichier EXE par:
1. Press WinKey + R
2. Tapez "iexpress" (sans guillemets) dans la fenêtre d'exécution
3. Complétez l'assistant pour créer le programme d'installation.
4. Distribuer le formulaire EXE dûment rempli.