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