[PYTHON] Erstellen Sie eine Funktion zum Anzeigen von Bildern wie Jupyter / RStudio [Docker]

Überblick

Normalerweise schreibe ich Python- und R-Skripte mit neovim, aber es war mühsam, jede Datei nach der Ausgabe des Diagramms als PNG oder HTML zu öffnen und zu überprüfen. Ich wollte eine Funktion, die automatisch neue Dateien öffnet, also habe ich es mit Docker gemacht.

Seo5IDfC4BCZXHQDD0QL1594225984-1594226031.gif

Erstens habe ich nicht viel gemacht. Ich hoffe, Sie lesen es mit einer Spannung wie "Hmm, es gibt Leute, die darüber nachdenken."

Wie benutzt man

Speichern Sie zunächst das folgende Skript als docker-compose.yml [^ 1]. Bitte stellen Sie Docker-Compose zur Verfügung.

[^ 1]: Ich denke, Sie haben ein Docker-Image angegeben, das Sie nicht gesehen haben, das aber von mir erstellt wurde. Da es auf Docker Hub veröffentlicht ist, sollten Sie in der Lage sein, Docker normal zu ziehen.

docker-compose.yml


version: "3"
services:
  websocket:
    image: dr666m1/image_watcher_websocket:version-0.0
    volumes:
      - .:/work/sync
    ports:
      - "9999:9999"
  webserver:
    image: dr666m1/image_watcher_webserver:version-0.0
    volumes:
      - .:/work/sync
    ports:
      - "8888:8888"
    depends_on:
      - websocket

Wechseln Sie danach in das Verzeichnis, in dem Sie PNG und HTML ausgeben möchten, und starten / stoppen Sie mit dem folgenden Befehl ($ FILE_PATH ist die vorherige docker-compose.yml).

#Anlaufen
docker-compose -f $FILE_PATH --project-directory $(pwd) up -d

#Halt
docker-compose -f $FILE_PATH --project-directory $(pwd) down

Wenn Sie während des Startvorgangs "http: // localhost: 8888 /" in Ihrem Browser öffnen, wird der am Anfang angezeigte Bildschirm angezeigt.

Wie es funktioniert

Wie Sie in "docker-compose.yml" sehen können, werden zwei Docker-Container ausgeführt. Die Rollen der einzelnen werden im Folgenden kurz erläutert. Der Code wird auf meinem [github] veröffentlicht (https://github.com/dr666m1/docker_image_watcher_webserver).

websocket (image_watcher_websocket) Ich werde die Erklärung von WebSocket anderen Artikeln überlassen. Die Rolle dieses Docker-Containers ist:

Ich habe Pythons ** Websocket-Server ** Paket für die Implementierung verwendet.

webserver (image_watcher_webserver) Ich werde die Erklärung, was ein Webserver ist, anderen Artikeln überlassen. Die Rolle dieses Docker-Containers ist:

Ich habe Pythons ** Flask ** Paket für die Implementierung verwendet. ** React ** wird in index.html häufig verwendet.

Engagement

Anzeigen Ausblenden

Sie können zwischen "Einblenden" und "Ausblenden" mit "▶" und "▼" links neben dem Dateinamen wechseln.

Anzeige auf einem separaten Bildschirm

Wenn Sie auf den Dateinamen klicken, kann nur diese Datei auf einem separaten Bildschirm angezeigt werden.

Andere

Ich bin ein wenig speziell in Bezug auf die automatische Korrektur der vertikalen Breite des Iframes gemäß der scrollHeight der HTML-Datei und die Implementierung der Schaltfläche, um nach oben zurückzukehren.

Schließlich

In meiner Arbeit schreibe ich nur Python, R und SQL für die Analyse, daher habe ich gelernt, wie man mit React Bildschirme erstellt.

Recommended Posts

Erstellen Sie eine Funktion zum Anzeigen von Bildern wie Jupyter / RStudio [Docker]
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
Erstellen Sie einen Datensatz mit Bildern, die für das Training verwendet werden sollen
Erstellen Sie eine Funktion zur Visualisierung / Auswertung des Clustering-Ergebnisses
Wie man ein praktisches Seminar mit Jupyter mit Docker abhält
Erstellen Sie eine Funktion in Python
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet
PIL-Bilder auf Jupyter anzeigen
So rufen Sie eine Funktion auf
Tensorboard im Jupyter-Notebook auf Docker kann nicht angezeigt werden (gelöst)
Erstellen wir eine Funktion, um die Schaltfläche in Tkinter gedrückt zu halten
[Road to Intermediate Python] Rufen Sie eine Klasseninstanz wie eine Funktion mit __call__ auf
Ich wollte eine intelligente Präsentation mit Jupyter Notebook + nb present erstellen
Ich möchte eine Pipfile erstellen und im Docker wiedergeben
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Schritte zum Erstellen eines Django-Projekts
So erstellen Sie ein Conda-Paket
So erstellen Sie eine rekursive Funktion
So erstellen Sie eine virtuelle Brücke
Wie erstelle ich eine Docker-Datei?
So löschen Sie einen Docker-Container
5 Möglichkeiten zum Erstellen eines Python-Chatbots
So erstellen Sie eine Konfigurationsdatei
Erstellen Sie einen BOT, der mit Discord registrierte Bilder wie Piktogramme aufrufen kann
Verschiedene Methoden zum numerischen Erstellen der Umkehrfunktion einer bestimmten Funktion Einführung
Verstehen, wie Bilder auf Jupyter angezeigt werden (Verwendung von imshow / matplotlib von OpenCV)
[Python / Tkinter] Suche nach Pandas DataFrame → Erstellen Sie ein einfaches Suchformular zur Anzeige
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
So erstellen Sie einen Klon aus Github
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen Sie einen Bot, um Corona-Virus-Informationen zu retweeten
So erstellen Sie einen Git-Klonordner
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Führen Sie ein Skript von Jupyter aus, um es zu verarbeiten
Machen wir einen Jupyter-Kernel
So erstellen Sie eine NVIDIA Docker-Umgebung
Funktion zum Speichern von Bildern nach Datum [python3]
Ein einfaches IDAPython-Skript zum Benennen einer Funktion
Erstellen Sie eine Python-GUI-App in Docker (PySimpleGUI).
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
Verschiedene Möglichkeiten, ein Wörterbuch zu erstellen (Erinnerungen)
So erstellen Sie ein Repository aus Medien
Skript zum Erstellen einer Mac-Wörterbuchdatei
Erstellen Sie einen Webdienst mit Docker + Flask
Einführung in Docker Erstellen einer Ubuntu-Umgebung in Ubuntu
Erstellen Sie eine API zum Konvertieren von PDF-Dateien in TIF-Bilder mit FastAPI und Docker
Installieren Sie Jupyter Notebook und stellen Sie es so ein, dass eine Umgebung zum Erstellen von Studiennotizen erstellt wird [Mac]