Wie erstellt man eine ausführbare Datei in Python?

8

Ich möchte eine ausführbare Datei (.exe) meiner Python-Anwendung erstellen.

Ich möchte wissen, wie es geht, aber bedenke das: Ich benutze eine C ++ DLL!

Muss ich die DLL neben die .exe legen oder gibt es eine andere Möglichkeit?

    
aF. 25.04.2010, 20:55
quelle

7 Antworten

10

py2exe kann ausführbare Dateien in einer einzigen Datei generieren. Beispiele dazu finden Sie hier .

Die von mir verwendete setup.py verwendet die folgende Kombination von Optionen:

%Vor%

Normalerweise füge ich externe DLLs (zB msvcr71.dll) in denselben Ordner ein, in dem sich die ausführbare Datei befindet.

Um die Verteilung zu erleichtern und die Installation nach dem Generieren Ihrer Exe zu automatisieren, können Sie Inno Setup verwenden, um ein Installationsprogramm zu erstellen, das Ihre Exe und Ihre DLLs und andere Dokumente (Readme, etc) in das Anwendungsverzeichnis

    
joaquin 25.04.2010, 21:02
quelle
4

Folgen Sie diesen Schritten: Sie finden diese Dokumentation in diesem Website .

1) Installiere PyInstaller:

Angenommen, Sie haben PIP in diesem Verzeichnis installiert c: \ PythonXX \ Scripts, falls nicht Website und sehen Sie Anweisungen zur Installation von Python Indexing Project (PIP). Gehen Sie zu Ihrer Eingabeaufforderung und geben Sie den folgenden Befehl ein.

  • cd c: \ Python27 \ Skripte, um in dieses Verzeichnis zu gelangen, drücken Sie die Eingabetaste
  • Geben Sie dann - & gt; pip install pyinstaller Drücken Sie erneut die Eingabetaste
  • Dies sollte PyInstaller erfolgreich installieren!
  • Obs: Sie müssen nach der Installation kein pyinstaller im Scripts-Ordner haben, weil wir PIP benötigen, um die pininstaller-Dateien zu installieren. Um die Dinge organisierter zu gestalten, verschiebe ich die Pyinstaller-Dateien normalerweise in einen anderen Ordner. Um die pysintaller-Dateien in den Ordner Scripts zu verschieben, in dem sich die pyinstaller-Dateien befinden, und nach allen Dateien zu suchen, die mit "pyi" beginnen, können Sie in der Spalte Modified Date nachsehen, welche Dateien gleichzeitig erstellt wurden. Es sollten 24 PYI-Dateien sein, die beim Ausführen des obigen Skripts erstellt wurden. Kopieren Sie diese Dateien in einen anderen Ordner Ihrer Wahl. Ich erstelle normalerweise einen Ordner im Laufwerk C: \ und nenne ihn "CreateExecutables" mit einem anderen Ordner namens "pyinstaller_files".

2) Installieren Sie PyWin32:

Gehen Sie zu dieser SITE und suchen Sie nach der ausführbaren Datei namens pywin32-218.win32-py2.7.exe 2.7, die für 32-Bit-Systeme für python27 ist, suchen Sie nach dem, der Ihnen entspricht. Führen Sie die ausführbare Datei und es sollte PyWin32 erfolgreich installieren, die Hand in Hand mit Pyinstaller!

arbeitet

3) Erstellen Sie eine einzelne ausführbare Datei

Nun, da Sie PyInstaller und PyWin32 haben, können Sie beginnen, die einzelne ausführbare Datei zu erstellen. Die einzelne ausführbare Datei wird in einem anderen Ordner namens "dist" erstellt. Dieser Ordner wird auch dynamisch erstellt, wenn Sie den Befehl pyinstaller ausführen. Um die Dinge klarzustellen, wurden Ihre Pyinstaller-Dateien von Ihnen in einen anderen Ordner namens "pyinstaller_files" kopiert. Geben Sie nun den folgenden Befehl in Ihre Eingabeaufforderung ein.

  • c: \ python27 \ CreateExecutables \ pyinstaller_files & gt; pyinstaller --onefilec: \ test \ test1 \ yescript.py
  • Obs: Das Verzeichnis von yescript.py befindet sich dort, wo sich Ihr Pydev-Modul befindet.

4) Übersicht

Der obige Befehl erstellt einen Ordner namens "dist" innerhalb des pyinstaller_files-Ordners. Dieser Ordner enthält Ihre einzelne ausführbare Datei "yourscript.exe". Sie können jetzt die einzelne ausführbare Datei irgendwo Ihrer Wahl verschieben und die "dist" & amp; "Build" -Ordner mit der Datei "yourscript.spec", da sie nicht mehr benötigt werden, um Ihre einzelne ausführbare Datei auszuführen.

    
Developer 21.02.2014 19:17
quelle
2

Verwenden Sie py2exe . Sie können die DLL in den gleichen Ordner wie die endgültige EXE legen und es sollte gut geladen werden.

    
Max Shawabkeh 25.04.2010 21:00
quelle
1

Sehen Sie sich den pyinstaller an. Es sollte diese Abhängigkeiten für Sie finden (und entsprechend versenden).

    
ChristopheD 25.04.2010 21:16
quelle
1

Ich habe exe-Dateien aus Python 2.7-Code mit jedem dieser Tools erstellt:

  • Cython (mit --embed-Option)
  • Nuitka
  • Py2exe

Diese alle erzeugen eine eigenständige exe. Ihr Installationsprogramm muss die erforderlichen CRT-DLLs enthalten. Ihr Endergebnis ist für den typischen Benutzer von keiner anderen exe zu unterscheiden.

Die ersten beiden kompilieren zu C zuerst, dann kompilieren Sie das zu einer endgültigen exe mit dem von Ihnen installierten Compiler. Py2Exe bündelt Python und alle Ihre .pyo-Dateien in eine Zip-Datei, die es in die exe einbettet. Wenn es gestartet wird, entpackt es sich in das Temp-Verzeichnis und führt das Python von dort aus. Sie müssen Ihre DLL zur .spec-Datei hinzufügen, damit sie in der ZIP-Ressource enthalten ist. Alternativ installieren Sie Ihre DLL neben der exe und laden Sie sie mit einem absoluten Pfad in Python.

    
DaveSawyer 16.04.2014 19:18
quelle
0

cx_Freeze ist auch gut.

  

cx_Freeze ist eine Sammlung von Skripten und Modulen zum Einfrieren von Python-Skripten in ausführbare Dateien

    
Loko 13.03.2015 14:31
quelle
0

PyInstaller ist die beste Wahl, da es sowohl unter Windows als auch unter Linux funktioniert. Wenn Sie arch linux verwenden, verwenden Sie den folgenden Link: PyInstaller oder versuchen Sie yaourt pyinstaller .

    
Bodhi94 08.11.2016 06:31
quelle

Tags und Links