web-dev-qa-db-fra.com

Processus pour convertir un script simple Python en fichier exécutable Windows)

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.

78
greye

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 ...

32
Nicholas Riley

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

13
PPTim

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!:)

13
Bob

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).

9
Alex Martelli

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.

6
godlovesdavid

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

2
fridder

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.

  • Téléchargez et installez NSIS sur votre système.
  • Compressez le dossier dans .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.

  • L’exécutable généré peut être installé sur le système et peut être distribué pour utiliser cette application sans même s’inquiéter de l’installation du python requis et de ses packages.

Pour le didacticiel vidéo, suivez: Comment convertir un fichier Python en .EXE

0
kgangadhar