[Automatisierung] Konvertieren Sie Python-Code in eine exe-Datei

Wie verteile ich Python-Code?

Wenn Sie möchten, dass andere Benutzer ein in Python geschriebenes Programm verwenden, ist die Verteilung ein Problem.

Angenommen, Sie haben in Anaconda (Jupyter Notebook) ein Programm geschrieben, das die Büroarbeit automatisiert. Wenn Sie nett sind, möchte ich, dass Sie es nicht nur für sich selbst, sondern auch für Ihre Mitmenschen verwenden. Anaconda wird jedoch nicht immer bei der Arbeit installiert, und nicht jeder ist mit dem Programm vertraut. ** Anaconda? Was ist das für eine Schlange? Selbst wenn Sie jemandem wie ** "Zuerst Jupyter Notebook starten, die ipynb-Datei auswählen ..." erklären, ist es eine gute Idee, wütend zu werden.

Ein Klick, wenn Python in exe konvertiert wird!

Wenn Sie den Python-Code in eine ** exe-Datei (exe-Datei) ** konvertieren, können Sie ihn mit nur einem Klick ausführen. Dies erleichtert es Personen, die mit dem Programm nicht vertraut sind, dies zu tun.

Hier werde ich erklären, wie ein in Anaconda (Juypter Notebook) geschriebenes Python-Programm in eine exe-Datei konvertiert wird. Der allgemeine Fluss ist wie folgt.

Verfahren

  1. Installieren Sie pyinstaller
  2. Bereiten Sie eine .py-Datei vor
  3. Öffnen Sie die Anaconda-Eingabeaufforderung und gehen Sie zum Speicherort der .py-Datei
  4. Verwandeln Sie die .py-Datei mit dem Befehl pyinstaller in eine exe-Datei
  5. Führen Sie die exe-Datei aus und überprüfen Sie den Vorgang

1. Installieren Sie pyinstaller

Es gibt verschiedene Möglichkeiten, Python-Code in eine Exe-Datei umzuwandeln. Hier zeigen wir Ihnen jedoch, wie Sie "pyinstaller" verwenden.

pyinstaller kann mit pip install pyinstaller installiert werden.

Wenn Sie Anaconda verwenden, öffnen Sie [Anaconda Prompt] und geben Sie den folgenden Befehl ein.

Anaconda Prompt


pip install pyinstaller

Oder in der Zelle Jupyter Notebook

Jupyter Notebook


!pip install pyinstaller

Sie können auch eingeben und ausführen.

2. Bereiten Sie eine .py-Datei vor

Nach erfolgreicher Installation von pyinstaller besteht der nächste Schritt darin, den Code, den Sie in eine exe-Datei konvertieren möchten, in eine ".py-Datei" umzuwandeln.

Im Fall von Jupyter Notebook ist das Dateiformat ** ipynb **, so dass Sie es in eine py-Datei konvertieren müssen.

Wählen Sie Python (.py) aus dem Jupyter Notebook-Menü mit "Datei - Download als" und speichern Sie es.

jupyter_pyfile.png

3. Öffnen Sie die Anaconda-Eingabeaufforderung und gehen Sie zum Speicherort der .py-Datei

Starten Sie [Anaconda Prompt]. Verwenden Sie dann den Befehl cd, um an den Speicherort zu gelangen, an dem sich die zuvor gespeicherte py-Datei befindet. Wenn der Speicherort der py-Datei beispielsweise "C: \ Users \ konitech \ sample" lautet, geben Sie den folgenden Befehl ein.

Anaconda Prompt


cd C:\Users\konitech\sample

4. Verwandeln Sie die .py-Datei mit dem Befehl pyinstaller in eine exe-Datei

Erstellen Sie dann eine exe-Datei mit dem Befehl pyinstaller. Wenn Sie beispielsweise möchten, dass test.py eine exe-Datei ist, geben Sie den folgenden Befehl ein.

Anaconda Prompt


pyinstaller test.py --onefile

Wenn es keine Option namens --onefile gibt, werden viele Dateien erstellt und durcheinander gebracht. Daher wird diese --onefile angegeben, um sie zu einer exe-Datei zu kombinieren.

Wenn Sie eine Fehlermeldung erhalten

Manchmal wird hier ein Fehler angezeigt, der nicht funktioniert.

Ich werde das Muster vorstellen, das den Fehler tatsächlich verursacht hat, und das Mittel.

■ ** RecursionError: Die maximale Rekursionstiefe wurde beim Aufrufen eines Python-Objekts überschritten **

Es scheint, dass die Anzahl der Wiederholungen zu groß ist, aber ich bin mir nicht sicher. Nach der Untersuchung stellte ich fest, dass ich die [test.spec-Datei] ändern sollte, die beim Ausführen von py installer test.py --onefile erstellt wurde.

Ich denke, dass eine test.spec-Datei im selben Ordner wie test.py erstellt wird, also öffnen Sie sie mit einem Texteditor.

# -*- mode: python -*-

Fügen Sie Folgendes unten ein und speichern Sie es durch Überschreiben.

import sys
sys.setrecursionlimit(5000)

Und

Anaconda Prompt


pyinstaller test.spec

Erstellen Sie eine exe-Datei, indem Sie die zuvor bearbeitete Spezifikationsdatei angeben.

■ ** Fehler beim Ausführen des Skripts pyi_rth_pkgres fehlgeschlagen **

Es heißt, dass pyi_rth_pkgres nicht ausgeführt werden kann, aber ich bin mir immer noch nicht sicher. Ändern Sie erneut die Spezifikationsdatei.

In der Spezifikationsdatei

Spezifikationsdatei


a = Analysis(['test.py'],
             pathex=['C:\\Users\\xxx'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],

Ich denke, es gibt so einen Ort. Fügen Sie hier versteckte Importe zu pkg_resources.py2_warn hinzu.

Spezifikationsdatei


a = Analysis(['test.py'],
             pathex=['C:\\Users\\xxx'],
             binaries=[],
             datas=[],
             hiddenimports=['pkg_resources.py2_warn'],
             hookspath=[],

Und

Anaconda Prompt


pyinstaller test.spec

Erstellen wir eine exe-Datei, indem wir die zuvor bearbeitete Spezifikationsdatei angeben.

5. Führen Sie die exe-Datei aus und überprüfen Sie den Vorgang

Wenn die Erstellung erfolgreich abgeschlossen wurde, wird ein Ordner mit dem Namen "dist" erstellt, und ich denke, dass sich nur eine exe-Datei darin befindet. Dies ist die fertige exe-Datei.

Lassen Sie es uns ausführen und sicherstellen, dass es funktioniert.

Wenn es funktioniert, können Sie diese exe-Datei verteilen. Du hast es geschafft!

Referenz

Hier sind die anderen Automatisierungsserien, die ich geschrieben habe. Bei Interesse bitte!

[Automatisierung] Senden Sie Outlook-E-Mails mit Python https://qiita.com/konitech913/items/51867dbe24a2a4272bb6

[Automatisierung] Lesen Sie Outlook-E-Mails mit Python https://qiita.com/konitech913/items/8a285522b0c118d5f905

[Automatisierung] Lesen Sie E-Mails (Nachrichtendatei) mit Python https://qiita.com/konitech913/items/fa0cf66aad27d16258c0

Recommended Posts

[Automatisierung] Konvertieren Sie Python-Code in eine exe-Datei
So konvertieren Sie Python in eine exe-Datei
Konvertieren Sie den Zeichencode der Datei mit Python3
So verwandeln Sie eine .py-Datei in eine .exe-Datei
Konvertieren Sie mehrere Jupyter-Notizbücher zusammen in eine HTML-Datei
Konvertieren Sie Python 3.x-Code in Python 2.x.
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
[Mit Python automatisiert! ] Teil 1: Datei einstellen
[Mit Python automatisiert! ] Teil 2: Dateivorgang
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
[Python] So konvertieren Sie eine Datenbankdatei in CSV
[Python] Konvertieren Sie CSV-Dateibegrenzer in Tabulatortrennzeichen
Konvertieren Sie die psd-Datei in Python in png
Erstellen Sie schnell eine Excel-Datei mit Python #python
Erstellen einer exe-Datei mit Python PyInstaller: PC friert bei paralleler Verarbeitung ein
[Python] Ruft den Zeichencode der Datei ab
Kombinieren Sie mehrere Python-Dateien zu einer Python-Datei
[Automatisierung] Lesen Sie E-Mails (Nachrichtendatei) mit Python
Python-Skript zum Konvertieren von Breiten- und Längengrad in Mesh-Code
Konvertieren Sie die SVG-Datei mit Python in png / ico
[Python] [chardet] Automatische Erkennung von Zeichencode in Dateien
[Python] Automatisierung zum Kopieren von Excel-Dateien implementiert
Formatieren Sie Python-Code mit Emacs automatisch in PEP8-kompatiblen Code
Entwickeln Sie Windows-Apps mit Python 3 + Tkinter (exe-Datei)
Python-Code, der zusammenhängende Leerzeichen in einem entfernt
Konvertieren Sie kubischen Netzcode in Python in WKT
Skript-Python-Datei
Erstellen Sie mit PyInstaller eine exe-Datei, die in einer Windows-Umgebung ohne Python funktioniert
Python-Zeichencode
Python-Dateiverarbeitung
[Python] Code, der Algorithmen kennt
Machen Sie jede PowerPoint-Seite zu einer Bilddatei in Python
Erstellen Sie eine Bilddatei mit PIL (Python Imaging Library).
Lesen Sie den QR-Code aus der Bilddatei mit Python (Mac).
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
PyInstaller-Memorandum Konvertieren Sie Python [.py] in [.exe] mit 2 Zeilen
Verfahren zum Konvertieren einer Python-Datei in eine Exe aus der Ubunts-Umgebungskonstruktion