--Construction d'un environnement de développement de PySimple GUI à l'aide de Docker [PySimple GUI] --Construction d'un environnement de développement GUI à l'aide de Docker [Docker & X11 & VcXsrv]
--Docker et Docker-compose doivent être installés --Utilisation de base de Python et Docker ――Il est encore mieux d'avoir un aperçu de X11
J'utilise Docker Toolbox, mais je devrais pouvoir le faire avec Docker Desktop (non vérifié)
Installez VcXsrv pour afficher la fenêtre du conteneur côté hôte. VcXsrv: lien de téléchargement
Ici, afin d'éviter une erreur de sécurité, obtenez l'adresse IP de la VM, etc. sur laquelle le conteneur s'exécute. Ajoutez l'adresse IP acquise à «x0.hosts» dans le dossier où VcXsrv est installé.
Destination d'installation normale: C: \ Program Files \ VcXsrv
Une fois installé, lancez X Lanuch avec les paramètres par défaut. OK s'il est démarré sur la barre des tâches!
Créez un Dockerfile et Docker-compose.yml.
Docekrfile
#Extrait du minimum de pièces nécessaires
FROM python:3.8.2
RUN pip install pysimplegui
Installez simplement PySimpleGUI avec pip install. Ajoutez vous-même des utilisateurs, des dossiers, d'autres dépendances, etc.
Docker-compose.yml
version: "3.2"
services:
python-gui:
build: .
restart: always
tty: true
volumes:
-Dossier côté hôte:Dossier côté conteneur
environment:
- DISPLAY=Adresse IP de l'hôte:0.0
Le paramètre X11 est défini par la variable d'environnement. L'adresse IP de l'hôte ici est l'adresse IP de DockerNat ou l'adresse IP du réseau VirtualBox. (Bien sûr, il doit s'agir d'un réseau connecté au conteneur)
Article de référence Qiita: GUI avec Docker pour Windows (comment ne pas transférer X11 avec ssh)
Une fois que vous avez fait cela, démarrez le conteneur et vous êtes prêt à partir
docker-compose up -d --build
Si vous exécutez le code créé, une fenêtre doit être créée du côté hôte.
Si vous obtenez l'erreur suivante, les paramètres X11 ne fonctionnent pas correctement, revoyez donc les paramètres.
ErrorMessage
réduction: couldn't connect to display "Adresse IP de l'hôte:0.0"
Puisqu'il s'agit de l'article principal sur la construction d'environnement, veuillez vous reporter à l'article suivant pour savoir comment créer du code.
La documentation officielle peut être solide.
Je publierai également des articles utiles en japonais
J'ai également écrit un article sur la façon de transformer une application créée dans un conteneur en un EXE pour Windows. Comment implémenter la conversion EXE de Python pour Windows avec le conteneur Docker
Recommended Posts