So implementieren Sie Python EXE für Windows mit Docker-Container

Für diejenigen, die den in Linux on Docker verwendeten Python-Code schnell EXE-fähig machen möchten, um ihn an andere weiterzugeben.

Behälter zu verwenden

Einige Leute haben einen Container verteilt, in dem PyInstaller unter Windows ausgeführt wird, daher werden wir ihn verwenden.

Wenn ich die Docker-Datei lese, scheint es, dass ich Software verwende, die die folgenden Windows-Anwendungen unter Linux ausführt.

Erklärung des Wine HQ oben auf der Website (japanische Übersetzung ist nicht angemessen)

Wine (ursprünglich eine Abkürzung für "Wine Is Not a Emulator") ist eine Kompatibilitätsschicht, mit der Sie Windows-Anwendungen auf POSIX-kompatiblen Betriebssystemen wie Linux, macOS und BSD ausführen können. Anstatt interne Windows-Logik wie virtuelle Maschinen und Emulatoren zu simulieren, übersetzt Wine Windows-API-Aufrufe im laufenden Betrieb in POSIX-Aufrufe, wodurch Leistungs- und Speichereinbußen auf andere Weise vermieden und Windows-Anwendungen erstellt werden. Es kann sauber in Ihren Desktop integriert werden.

Beispiel für einen Ausführungsbefehl

Da es häufig mehrmals ausgeführt wird, wird es als Shell-Skript ausgeführt. Wenn Sie das folgende Shell-Skript in dem Verzeichnis ausführen, das den Quellcode enthält, werden die Dateien build, dist directory und .spec in derselben Hierarchie generiert. Die erstellte EXE für Windows befindet sich im Verzeichnis dist.

build.sh


#! /bin/bash
docker run --rm -v "$(pwd):/src/" --entrypoint /bin/sh cdrx/pyinstaller-windows \
-c "/usr/bin/pip install -r requirements.txt && pyinstaller main.py --noconsole --onefile --clean"

-- docker run: Containerbefehl ausführen -- -rm: Löschen Sie den Container nach dem Ende des Containers -- -v "$ (pwd): / src /" `` `: Mounten Sie das aktuelle Verzeichnis des Host-Betriebssystems unter / src / des Container-Betriebssystems -- --entrypoint / bin / sh Geben Sie die Person an, an die der Befehl bei der Ausführung übergeben wird (geben Sie diesmal sh an). -- cdrx / pyinstaller-windows: Geben Sie das auszuführende Image an. Sie können auch eine ausführbare Datei für Linux mit `` `cdrx / pyinstaller-linux erstellen. Nun, ich denke, Sie können es mit einem normalen Entwicklungscontainer tun. -- -c "~ hogehoge ~" `` `: Geben Sie den Befehl an, der im Container ausgeführt werden soll -- / usr / bin / pip installiere -r Anforderungen.txt: Installiere Abhängigkeiten mit pip. Fügen Sie hinzu, wenn Sie apt usw. installieren müssen. -- pyinstaller main.py --noconsole --onefile --clean```: Der exe-Konvertierungsbefehl des Hauptthemas. Keine Konsole, 1 Datei, Optionen zum Löschen vorheriger Ergebnisse angeben.

Ausführungsergebnis

Bisher habe ich ungefähr 3 Codetypen in exe konvertiert und auf win10 und win8 ausgeführt, aber es begann ohne Probleme. Außerdem kann der Code von PySimpleGUI problemlos in exe konvertiert werden. Daher möchte ich ihn allen empfehlen, die schnell eine GUI für Windows mit Python erstellen möchten.

Recommended Posts

So implementieren Sie Python EXE für Windows mit Docker-Container
So installieren Sie Python [Windows]
Wie man in Python entwickelt
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
So führen Sie Python im virtuellen Raum aus (für MacOS)
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
Implementieren von 100 Data Science-Schlägen für Anfänger in Data Science (für Windows 10 Home)
So definieren Sie mehrere Variablen in einer Python for-Anweisung
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
So löschen Sie einen Docker-Container
Umgang mit Japanisch mit Python
So melden Sie sich bei Docker + NGINX an
[Für Anfänger] So implementieren Sie O'reilly-Beispielcode in Google Colab
Festlegen der CORS-Einstellungen für den Azure-Speicherdienst in Python
Ich habe versucht, PLSA in Python zu implementieren
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Ich habe versucht, Permutation in Python zu implementieren
Dynamisches Definieren von Variablen in Python
Verwenden von venv in der Windows + Docker-Umgebung [Python]
So machen Sie R chartr () in Python
So konvertieren Sie Python in eine exe-Datei
[Itertools.permutations] So löschen Sie eine Sequenz in Python
Ich habe versucht, PLSA in Python 2 zu implementieren
So implementieren Sie einen verschachtelten Serializer mit drf-flex-Feldern
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
Ich habe versucht, ADALINE in Python zu implementieren
So installieren Sie das Windows-Subsystem für Linux
Ich habe versucht, PPO in Python zu implementieren
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Verwendung von "deque" für Python-Daten
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
So installieren Sie Python3 mit Docker Centos
So machen Sie den Containernamen in Docker als Subdomain zugänglich
Verwendung der C-Bibliothek in Python
Versuchen Sie, Oni Mai Tsuji Miserable mit Python zu implementieren
So empfangen Sie Befehlszeilenargumente in Python
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
Debuggen eines Python-Programms durch Remoteverbindung mit einem Docker-Container in einer WSL2-Umgebung mit VS-Code
So generieren Sie eine Sequenz in Python und C ++
So implementieren Sie Rails-Helfer-ähnliche Funktionen in Django
Einbetten von Variablen in Python-Strings
Verwendung der Python-Bildbibliothek in der Python3-Serie
So erstellen Sie eine JSON-Datei in Python