Pour ceux qui veulent rapidement EXE le code Python utilisé sous Linux sur Docker pour le transmettre à d'autres.
Certaines personnes ont distribué un conteneur qui exécute PyInstaller sous Windows, nous allons donc l'utiliser.
Lorsque je lis le Dockerfile, il semble que j'utilise un logiciel qui exécute les applications Windows suivantes sous Linux.
--Site externe: WINE HQ
Explication de Wine HQ sur le HAUT du site (la traduction japonaise n'est pas appropriée)
Wine (à l'origine un acronyme pour «Wine Is Not an Emulator») est une couche de compatibilité qui vous permet d'exécuter des applications Windows sur des systèmes d'exploitation compatibles POSIX tels que Linux, macOS et BSD. Plutôt que de simuler la logique Windows interne comme les machines virtuelles et les émulateurs, Wine traduit les appels d'API Windows en appels POSIX à la volée, éliminant les pénalités de performances et de mémoire par d'autres moyens et créant des applications Windows. Il peut être intégré proprement dans votre bureau.
Comme il est souvent exécuté plusieurs fois, il est exécuté comme un script shell. Si vous exécutez le script shell suivant dans le répertoire contenant le code source, les fichiers build, dist et .spec seront générés dans la même hiérarchie. Le fichier EXE créé pour Windows se trouve dans le répertoire 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
: exécuter la commande de conteneur
-- -rm
: efface le conteneur après la fin du conteneur
-- -v "$ (pwd): / src /" `` `: Montez le répertoire courant du système d'exploitation hôte sur / src / du système d'exploitation du conteneur --
--entrypoint / bin / sh Spécifie la personne à qui la commande est passée lors de l'exécution (spécifiez sh cette fois) --
cdrx / pyinstaller-windows: Spécifiez l'image à exécuter. Vous pouvez également créer un fichier exécutable pour Linux en utilisant `` cdrx / pyinstaller-linux ''. Eh bien, je pense que vous pouvez le faire avec un conteneur de développement normal. --
-c "~ hogehoge ~" `` `: Spécifiez la commande à exécuter dans le conteneur
-- / usr / bin / pip install -r requirements.txt
: Installer les dépendances avec pip. Ajoutez si vous devez installer apt, etc.
-- pyinstaller main.py --noconsole --onefile --clean
: La commande de conversion exe du sujet principal. Pas de console, 1 fichier, spécifiez les options pour effacer les résultats précédents.
Jusqu'à présent, j'ai converti environ 3 types de code en exe et l'ai exécuté sur win10 et win8, mais cela a commencé sans aucun problème. De plus, le code de PySimpleGUI pourrait être converti en exe sans aucun problème, je voudrais donc le recommander à ceux qui souhaitent créer rapidement une interface graphique pour Windows avec Python.
Recommended Posts