J'ai écrit un script qui aidera une utilisateur Windows dans sa vie quotidienne. Je veux simplement lui envoyer le .exe et ne pas lui demander d'installer python, dll ou avoir à traiter des fichiers supplémentaires.
J'ai lu de nombreuses entrées de stackoverflow concernant la compilation Python en fichiers exécutables. Je suis un peu confus, car il existe de nombreuses options, mais certaines semblent datées (aucune mise à jour depuis 2008) et aucune n'était simple. assez pour que je ne demande pas cela maintenant après quelques heures passées là-dessus.
J'espère qu'il y a une meilleure façon, à jour, de faire cela.
J'ai examiné:
mais je ne pouvais pas les faire travailler ou je ne comprenais pas comment obtenir le résultat dont j'avais besoin. Le plus proche que j'ai eu était avec py2exe mais il m'a toujours donné le MSVCR71.dll
J'apprécierais une réponse étape par étape, car je ne pouvais pas non plus suivre certaines des réponses de peaufinage qui nécessitent une compréhension préalable de l'utilisation de py2exe ou de certains des autres outils.
J'utilise Python 2.5 car l'un des modules n'est disponible que pour cette version.
PyInstaller créera un exécutable mono-fichier si vous utilisez le fichier --onefile
option (bien qu’elle extrait en fait puis s’exécute elle-même).
Il y a un tutoriel simple sur PyInstaller ici . Si vous avez des questions sur son utilisation, merci de les poster ...
En utilisant py2exe, incluez ceci 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 via la commande Invite/Inactif, les deux fonctionnent pour moi. J'espère que ça aide
je recommanderais d'aller à http://sourceforge.net/projects/py2exe/files/latest/download?source=files pour télécharger py2exe. Créez ensuite 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 Enregistrez également le fichier à convertir dans ce même dossier.
Exécuter la commande type de l'invite de la fenêtre dans setup.py install py2exe
Il faut imprimer plusieurs lignes de code ...
Ensuite, ouvrez le dossier dist.
Exécutez le fichier exe
.
S'il y a des fichiers nécessaires au fonctionnement du programme, déplacez-les dans le dossier
Copier/envoyer le dossier dist à une personne.
Facultatif: changez le nom du dossier dist
Esperons que ça marche!:)
Je voudrais rejoindre @Nicholas en recommandant PyInstaller (avec le --onefile
drapeau), mais soyez averti: ne pas utilisez la "dernière version", PyInstaller 1.3 - c'est ans vieux. Utilisez la "pré-version" 1.4, téléchargez-la ici - ou mieux encore, le code de la svn repo - installez SVN et exécutez svn co http://svn.pyinstaller.org/trunk pyinstaller
.
Comme @Nicholas l'implique, les bibliothèques dynamiques ne peuvent pas être exécutées à partir du même fichier que le reste de l'exécutable - mais heureusement, elles peuvent être emballées avec tous les rester dans un exécutable "auto-décompactant" qui se décompressera lui-même dans un répertoire temporaire selon les besoins; PyInstaller fait du bon travail à cet égard (et à bien d’autres choses encore - 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) Créez un fichier appelé "setup.py" dans le même dossier que le script que vous voulez convertir, avec le code suivant:
from distutils.core import setup import py2exe setup(console=['myscript.py']) #change 'myscript' to your script
3) Accédez à l'invite de commande, accédez à ce dossier et tapez:
python setup.py py2exe
4) Il générera un dossier "dist" dans le même dossier que le script. Ce dossier contient le fichier .exe.
vous voudrez peut-être voir si votre application peut s'exécuter sous IronPython. Si c'est le cas, vous pouvez le compiler sur un exe http://www.codeplex.com/IronPython
Vous pouvez créer un fichier exécutable à partir du script python) en utilisant NSIS (système d’installation scriptable nullsoft). Suivez les étapes ci-dessous pour convertir votre = python fichiers à l’exécutable.
.Zip
fichier que vous souhaitez exporter dans un fichier exécutable.Lancez NSIS
et sélectionnez Installer based on Zip file
. Recherchez et fournissez le chemin d'accès à votre fichier compressé.
Fournissez votre Installer Name
et Default Folder
chemin et cliquez sur Generate pour générer votre fichier exe
.
Une fois que vous avez terminé, vous pouvez cliquer sur Test pour tester l'exécutable ou Close pour compléter le processus.
Pour le didacticiel vidéo, suivez: Comment convertir un fichier Python en .EXE