Per Docker-Container zur Quellcodebearbeitung

Normalerweise reicht das Python-Ökosystem mit seinen pip- oder conda-Paketmanagern zur Nachinstallation von Software aus. Wer allerdings auf externe Software aufbaut, kann verschiedene Konfigurationsdateien per Repository mitliefern, die gegebenenfalls Abhängigkeiten beim Bau des Containers auflösen, also zusätzliche Software oder eine spezifische Version installieren.

Das kann auf verschiedenen Ebenen geschehen, bis zur Erstellung eines angepassten Dockerfiles im Repository. Das bringt allerdings etwas Komplexität mit sich, tunlichst sollte von einer gut funktionierenden Vorlage ausgegangen werden. Die mybinder-Dokumentation (über den read the docs-Link der Hauptseite erreichbar) gibt dazu genauere Auskünfte.

Lokale Ausführung

Als ein großer Nachteil erweist sich, dass die eingegebenen Daten nicht persistent sind. Es ist allerdings möglich, sich mit Einmal-Passwörtern oder oauth2-Tokens Schreibzugriff auf die eigenen Git-Repositories zu ermöglichen. Allerdings bietet das keine optimale Sicherheit, sensible Repositories ohne Sicherheitskopie sollte man damit nicht kompromittieren.

Somit kommt man nicht umhin, eine lokale Kopie der Umgebung zu nutzen. Einen eigenen Jupyterhub aufzusetzen, ist aber nicht zwingend nötig, denn ein passender Docker-Container kann lokal gestartet werden.

Linux-Nutzer installieren sich so üblicherweise die Docker-Laufzeitumgebung und starten den Container per

docker run -it --rm -v$HOME/src:/home/jovyan/src -p 8888:8888 mein_lab jupyter-lab --ip=0.0.0.0 --port=8888

wobei "mein_lab" durch den Namen des passenden Images ersetzt wird. Eine Liste passender Standard-Images findet sich auf der Seite der offiziellen Jupyter-Docker-Images. Der exotisch anmutende Username jovyan ist der Standard-Nutzername der Jupyter-Community und kann prinzipiell per Dockerfile-Anpassung geändert werden.

Die -v-Option (Volume) macht ein lokales Entwicklungsverzeichnis $HOME/src aus der Containerumgebung zugänglich. Dabei ist es sinnvoll, ein Zielverzeichnis unter dem Nutzer-Home (innerhalb des Containers) zu wählen, da Jupyterlab selbiges als höchste Ebene in seiner Dateiauswahl ansieht, darüberliegende Dateien sind nicht sichtbar.

Nach erfolgreichem Start des Jupyterlab-Servers gibt die Konsole eine lokale URL aus, unter der per Browser die frisch gestartete grafische Umgebung aufgerufen wird. Für weitere Betriebssysteme läuft die Docker-Umgebung unter dem Terminus Docker Desktop und lässt sich von der Docker-Webseite herunterladen.

Quellcodebearbeitung

Für die schnelle Ansicht eines Notebooks mögen die Anzeigefähigkeiten von Github ausreichend sein, aber im Sinne von detaillierterem Spielen ist die mybinder-Lösung eine wunderbar effiziente Umgebung, um in Zeiten erzwungener Heimarbeit die Projektpartner mit nachvollziehbaren Resultaten zu versorgen. Das motiviert auch zu nachhaltiger Dokumentation und hat so seine Vorteile gegenüber knappen Informationstransfers in der Mittagspause oder per E-Mail.

Für die Erstellung von Inhalt allerdings benötigt man ein gemachtes Nest. Ohne lokale Installation von Software wird es knifflig, dann müssten sich die Nutzer ihre Strategie zur Speicherung von Änderungen innerhalb der Cloud selbst erarbeiten. Schön wäre eine Lösung analog zu Google Docs, allerdings ist das noch Zukunftsmusik, über die innerhalb der Entwicklerriege offenbar noch nachgedacht wird.

Für akademische Zwecke bietet der Ansatz ohne Zweifel einen Zugewinn an Komfort. Eigene Experimente haben ergeben, dass sich die Umgebung sogar eignet, um Onlinetests abzulegen. Dazu ist allerdings eine eigene Jupyterhub-Instanz vonnöten, die nicht bei fehlender Aktivität die Sitzung abschießt und bei Verbindungsproblemen zumindest einen Wiedereinstieg ermöglicht. Die abgeschlossenen Tests werden aus dem Notebook heraus schlicht per Git-Kommando in das eigene Repository geschoben.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Open Source: Interaktives Rechnen mit Jupyter-NotebooksVielfältige Anwendungsmöglichkeiten umsetzbar 
  1.  
  2. 1
  3. 2
  4. 3
  5.  


grorg 12. Mai 2022

# %% import pandas as pd import numpy as np # %% df = pd.read_excel("../data/raw/test...

Ultima 12. Mai 2022

Neben Binder gibt es noch eine ganze Reihe weiterer Möglichkeiten, wie man (mehr oder...

GwhE 12. Mai 2022

Erstmal, danke für den Artikel Jupyter ist echt cool und der Artikel hat sehr Interstate...



Aktuell auf der Startseite von Golem.de
Apple
Vision Pro zwischen Finger-Tracking-Lob und Gewicht-Kritik

Sehr gutes Bild, nahezu perfekte Bedienung aber ein bisschen zu schwer: Die ersten Hands-ons von Apple Vision Pro sind insgesamt positiv.
Ein Bericht von Peter Steinlechner

Apple: Vision Pro zwischen Finger-Tracking-Lob und Gewicht-Kritik
Artikel
  1. Zen 4c Bergamo: So schrumpft AMD die Epyc-Kerne um fast die Hälfte
    Zen 4c Bergamo
    So schrumpft AMD die Epyc-Kerne um fast die Hälfte

    Bis zu 128 Kerne stellt AMD gegen ARM-Server-Prozessoren und Intels E-Cores. Kompromisse und neue Technik machen die kleineren Kerne möglich.

  2. Passauer Klostergarten: Videoüberwachung ohne Gefährdungslage unzulässig
    Passauer Klostergarten
    Videoüberwachung ohne Gefährdungslage unzulässig

    Die Stadt Passau darf einen Platz nicht ohne triftigen Grund überwachen. Zudem kann trotz DSGVO gegen Videoüberwachung geklagt werden.

  3. Diablo 4 im Test: Blizzards Meisterwerk definiert das Genre neu
    Diablo 4 im Test
    Blizzards Meisterwerk definiert das Genre neu

    Unsere Hoffnungen bewahrheiten sich: Diablo 4 ist der beste Teil der exzellenten Spieleserie, an der sich auch Konkurrenten messen müssen.
    Ein Test von Oliver Nickel

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • PS5-Spiele & Zubehör bis -75% • Samsung 990 Pro 1TB (PS5) 94€ • AirPods 2 125€ • Crucial SSD 1TB 41,99€ • Thrustmaster T300 RS 299,99€ • Bis 50 % auf Gaming-Produkte bei NBB • PS5 inkl. Spiel 549€ • MSI RTX 4070 Ti 999€ • MindStar: AMD Ryzen 7 5800X3D 285€, RX 7900 XTX 989€ [Werbung]
    •  /