Allgemeine Informationen
Anleitung | |
---|---|
Informationen | |
Betriebssystem | Alle |
Service | Jupyter |
Interessant für | Angestellte, Studierende und Gäste |
HilfeWiki des ZIM der Uni Paderborn |
This article is a stub. You can help us by expanding it. |
JupyterLab ist eine Webanwendung, mit der Notebooks erstellt und geteilt werden können, die die Entwicklung, Dokumentation und Ausführung von Code, Visualisierungen und erläuternden Text enthalten können. Die Notebooks ermöglichen die Entwicklung, Dokumentation und Ausführung von Code im Browser.
Das Jupyter-System unterstützt verschiedene Programmiersprachen, darunter Python, Java, R, Julia, Matlab viele mehr.
Zugang[Bearbeiten | Quelltext bearbeiten]
- Um Jupyter nutzen zu können, muss dies im Serviceportal unter Benutzerverwaltung -> Weitere Dienste in der Erweiterten Ansicht (unten links) beantragt werden. Wenn die erweiterte Ansicht eingeschaltet ist, kann der Dienst unter Lehre und Studium beantragt werden.
- Unter jupyter.upb.de kann sich dann mit den IMT Daten eingeloggt werden.
Beschreibung der verschiedenen IMT-Notebook-Images[Bearbeiten | Quelltext bearbeiten]
Bild: 1 Übersicht über die Notebook Images
Nach dem Login kann zwischen 5 verschiedenen Entwicklungsumgebungen ausgewählt werden:
- Basis-Notebook / Default basic python environment
- Diese Option enthält einen Jupyter Notebook-Server, der grundlegende Funktionen und Werkzeuge enthält und Python unterstützt.
- Enthält:
- Minimal funktionsfähiger Jupyter Notebook-Server
- Miniforge Python 3.x in /opt/conda mit zwei Paketmanagern (conda, mamba)
- Notebook-, Jupyterhub- und Jupyterlab-Pakete
- start-singleuser.sh-Skript, zum Starten aus JupyterHub
- Jupyter-Erweiterungen:
- nbgrader
- ngshare_exchange
- nbgitpuller
- Konfigurationen, um mit dem UPB-JupyterHub zu arbeiten
- Java-Notebook / Java and python environment
- Unterstützt Python und Java
- Enthält alles aus dem Basis-Notebook
- Enthält einen Java Compiler und die Basisumgebung
- Scipy-Notebook / Scientific python environment
- Enthält beliebte Pakete aus dem wissenschaftlichen Python-Ökosystem
- Es enthält außerdem:
- Alles aus dem Basis-Image
- TeX Live für die Konvertierung von Notebook-Dokumenten
- ipympl und ipywidgets für interaktive Visualisierungen und Diagramme in Python-Notebooks
- Facets zur Visualisierung von Datensätzen für maschinelles Lernen
- Datascience-Notebook / Datascience environment
- Enthält:
- alles aus der Scientific python environment / dem Scipy-Notebook
- Bibliotheken für die Datenanalyse aus den Communities Julia, Python und R
- Die folgenden Pakete: rpy2, HDF5, Gadfly, RDatasets
- Den Julia-Compiler und die Basisumgebung
- IJulia zur Unterstützung von Julia-Code in Jupyter-Notebooks
- Enthält:
- Tensorflow-Notebook / Tensorflow environment
- Enthält:
- Bibliotheken für Datenanalyse und Deep Learning aus der Julia-, Python- und R-Community
- Alles aus dem Datascience-Notebook
- Das „tensorflow maschinelles Lernen“-Paket
- Enthält:
Die anfangs ausgewählte Umgebung legt fest, welche Programmiersprache im Notebook angewendet werden kann. Wenn bspw. ein Notebook in der „Basis-Notebook / Default basic python environment“ erstellt wurde und mit Python gearbeitet wird, im nächsten Notebook aber mit Java gearbeitet werden soll, muss das Java-Notebook über die dementsprechende Umgebung gestartet werden (bspw. „Java-Notebook / Java and python environment“). Dafür wäre es sinnvoll verschiedene Ordner anzulegen, die jeweils Dateien verschiedener Umgebungen enthalten.
Eigenes Image beantragen[Bearbeiten | Quelltext bearbeiten]
Um eigene Images nutzen zu können, sind Kenntnisse in Git und Docker Voraussetzung.
Um ein Image zu beantragen, muss eine entsprechende Anfrage an das IMT (imt(at)upb(dot)de) gesendet werden. Weitere Informationen zu Eigenen Images sind hier zu finden: https://git.uni-paderborn.de/jupyter/basis-notebook-images#eigene-notebook-images (um das GitLab System des IMT zu nutzen, muss dies im Serviceportal als Dienst beantragt werden).
In der Anfrage beim IMT für die Nutzung dieses Images müssen dann die folgenden Informationen enthalten sein, um eine möglichst schnelle Bearbeitung und Freischaltung zu ermöglichen:
- Verantwortlicher für das Image
- Anzeigename
- Beschreibung
- Name, Repository und Version des Images
- LDAP-Gruppe mit Personen, welche das Image benutzen dürfen
- Wird mehr RAM bzw. CPU-Leistung benötigt? Bitte inklusive Begründung!
Nachdem die Anfrage vom IMT bestätigt wurde und alle Anforderungen richtig eingetragen wurden, kann das Image normal über den JupyterHub genutzt werden.
Wichtig: Das IMT übernimmt keinerlei Pflege von eigenen Images. Ebenso kann nicht garantiert werden, dass nach einem JupyterHub Update eigene Images noch kompatibel sind. Dies gilt nicht für oben aufgeführten IMT-Notebook-Images, hier wird für Kompatibilität garantiert.
JupyterHub[Bearbeiten | Quelltext bearbeiten]
Sobald eine Umgebung ausgewählt wurde, wird die JupyterHub Ansicht geladen.
Links befindet sich das Notebook Dashboard, in dessen Übersicht bspw. alle Notebooks und Ordner angezeigt werden, die erstellt wurden. Auf der rechten Seite befindet sich der Notebook-Editor.
Hinweis: Es ist auch möglich auf die klassische Ansicht von Jupyter Notebook zu wechseln. Dies kann über das Menü "Help -> Launch Classic Notebook" erreicht werden. Die unten stehenden Erklärungen der Funktionen gelten auch für die klassische Ansicht von Jupyter Notebook (alternativ ist dort im Notebook die User Interface Tour zu empfehlen, "Help -> User Interface Tour").
Das Notebook-Dashboard[Bearbeiten | Quelltext bearbeiten]
Das Dashboard enthält vier Registerkarten.
Bild:2 Notebook Dashboard
Der File Browser Tab
Der File Browser (1) zeigt Dateien und Ordner im aktuellen Verzeichnis an. Hier können per Klick auf das Plus „New Launcher“ (a) neue Dateien geöffnet oder Konsolen gestartet werden. Mit Klick auf (b) „New Folder“ wird ein neuer Ordner angelegt. Außerdem wird die Schaltfläche „Upload Files“ (c) angezeigt, mit der eine Datei auf den Notebook-Server hochgeladen werden kann. Dateien können auch per Drag and Drop in den Tab gezogen werden. Per „Refresh File List“ (d) kann die Liste der Dateien und Ordner aktualisiert werden.
Per Doppelklick auf eine Datei wird diese in einem neuen Tab auf der rechten Seite geöffnet. Mittels Rechtsklick in den File Browser können neue Ordner und Dateien angelegt werden. Mit Rechtsklick auf die Dateien selbst, können diese bspw. über Rename im Kontextmenü umbenannt werden.
Bild: 3 Rechtsklick im File Browser Tab
Der Running Terminals and Kernels Tab
Der Tab „Running Terminals and Kernels" (2) zeigt an, welche Notebooks derzeit in Gebrauch sind. Tabs und Kernels können hier bspw. mit einem Klick geschlossen bzw. beendet werden.
Bild:4 Der Running Terminals and Kernels Tab
Der Table of Contents Tab
„Table of Contents“ (3) listet alle im Notebook vorhandenen Überschriften als Inhaltsverzeichnis auf:
Bild:5 Auflistung von Überschriften im "Table of Contents" Tab
Extension Manager
Der „Extension Manager“ (4) kann verwendet werden, um Erweiterungen für JupyterHub zu verwalten.
Der Notebook-Editor[Bearbeiten | Quelltext bearbeiten]
Im Notebook-Editor kann in Notebooks und anderen Dateien gearbeitet werden. Ein geöffnetes Notebook hat genau eine interaktive Sitzung, die mit einem Kernel verbunden ist, der den von Benutzer*innen gesendeten Code ausführt. Wird dasselbe Notebook über das
Dashboard erneut geöffnet, wird dieses wieder mit demselben Kernel verbunden. Im Dashboard sind im Tab „Running Terminals and Kernels" alle Notebooks mit aktivem Kernel aufgelistet.
Bild:6 Die Notebook-Oberfläche
Neben dem Dashboard finden sich noch eine Menüleiste, eine Toolbar und eine leere Zelle, welche Code oder mit Markdown formatierten Text enthalten kann. In der Menüleiste finden sich verschiedene Optionen. Das File-Menü bietet unter anderem diese Möglichkeiten:
- New: Öffnen eines neuen Notebooks und anderer Dateien
- Save Notebook/Save All: Aktuelles oder alle Notebooks speichern
- Download: Herunterladen des Notebooks als .ipynb Datei
- Save and Export Notebook As…: Exportieren des Notizbuchs in verschiedenen Dateiformaten
Neben der Möglichkeit des manuellen Speicherns werden alle Änderungen in Dateien auch automatisch gespeichert.
Das Menü „Edit“ besteht aus Schaltflächen zum Ausschneiden, Kopieren und Einfügen von Zellen, zum Löschen der ausgewählten Zelle, zum Teilen und Zusammenführen von Zellen, zum Verschieben von Zellen nach oben und unten usw.
Unter „View“ können Aktionen ausgeführt werden, die das Erscheinungsbild von Jupyter verändern.
Unter „Run“ finden sich Aktionen zum Ausführen von allen oder ausgewählten Zellen.
„Kernel“ listet Optionen zur Verwaltung des Kernels auf, bspw. den Kernel neustarten, unterbrechen oder herunterfahren.
„Tabs“ listet geöffnete Dokumente und Aktivitäten auf.
Bei „Settings“ finden sich allgemeine Einstellungen.
Unter „Help“ findet sich eine Liste mit Links zur JupyterLab-Hilfe.
Die Toolbar bietet eine schnelle Möglichkeit, die am häufigsten verwendeten Operationen aus der Menüleiste innerhalb des Notebooks mit einem Klick auf das entsprechende Symbol auszuführen. Die Funktionen der Toolbar sind folgende:
- Save the notebooks content and create checkpoint: Speichern des Notebooks
- Insert a cell below: Einfügen einer neuen Zelle
- Cut the selected cells: Ausschneiden von Zellen
- Copy the selected cells: Kopieren von Zellen
- Paste cells from the clipboard: Einfügen von Zellen
- Run the selected cells and advance: Ausführen der Zellen
- Interrupt the kernel: Unterbrechen des Kernels
- Restart the kernel: Neustart des Kernels
- Restart the kernel, then re-run the whole notebook: Neustart des Kernels und neue Ausführung der Zellen im Notebook
- Select the cell type: Auswählen des Zelltyps (bspw. Code oder Markdown)
Außerdem findet sich rechts oberhalb des Notebooks das Kernel-Indikator-Symbol, welches direkt rechts neben dem Kernel-Namen angezeigt wird. Ein leerer Kreis bedeutet, dass der Kernel im Ruhezustand ist und ein ausgefüllter Kreis bedeutet, dass der Kernel arbeitet.
Bild:7 Kernel-Indikator
Die verschiedenen Zell-Typen[Bearbeiten | Quelltext bearbeiten]
Ein Notebook setzt sich aus einer Folge von Zellen zusammen. Eine Zelle ist ein mehrzeiliges Texteingabefeld, dessen Inhalt durch Drücken von "Shift+Enter", durch Klicken auf die Schaltfläche „Run the selected cells and advance“ in der Toolbar oder über das Menü ("Run -> Run selected cells") ausgeführt werden kann. Es gibt drei Arten von Zellen: Code-Zellen, Markdown-Zellen und Raw-Zellen. Jede Zelle ist per Default eine Code-Zelle, aber der Typ kann über ein Dropdown-Menü in der Toolbar (anfangs „Code“) geändert werden.
Code[Bearbeiten | Quelltext bearbeiten]
In einer Code-Zelle kann neuer Code bearbeitet und geschrieben werden. Die Programmiersprache hängt vom Kernel ab, und dieser ist wiederum von der anfangs ausgewählten Umgebung abhängig. Dies bedeutet, dass die anfangs ausgewählte Umgebung festlegt, welche Programmiersprache im Notebook angewendet werden kann. Wenn bspw. ein Notebook in der „Basis-Notebook / Default basic python environment“ erstellt wurde und mit Python gearbeitet wird, im nächsten Notebook aber mit Java gearbeitet werden soll, muss das Java-Notebook über die dementsprechende Umgebung gestartet werden (bspw. „Java-Notebook / Java and python environment“). Dafür wäre es sinnvoll verschiedene Ordner anzulegen, die jeweils Dateien verschiedener Umgebungen enthalten.
Wenn eine Code-Zelle ausgeführt wird, wird der darin enthaltene Code an den mit dem Notebook verbundenen Kernel gesendet. Die von dieser Berechnung zurückgegebenen Ergebnisse werden dann im Notebook als Ausgabe der Zelle angezeigt. Die Ausgabe ist nicht auf Text beschränkt, sondern es sind auch viele andere Formen der Ausgabe möglich, einschließlich Abbildungen oder HTML-Tabellen.
Bild: 8 Beispiel einer ausgeführten Code-Zelle
Vor den Code-Zellen sind eckige Klammern, die die Reihenfolge anzeigen, in der der Code ausgeführt wurde. Leere eckige Klammern zeigen an, dass der Code noch nicht ausgeführt wurde und ein Sternchen in eckigen Klammern [*] zeigt an, dass die Ausführung noch nicht abgeschlossen ist.
Zu beachten ist, dass die Ergebnisse von ausgeführten Zellen je nach Code später auch in anderen Zellen verwendet werden kann. Daher ist das Ergebnis von der Reihenfolge abhängig.
Markdown-Zelle[Bearbeiten | Quelltext bearbeiten]
Diese Zellen enthalten mit Markdown formatierten Text. Wenn eine Markdown-Zelle ausgeführt wird, wird der Markdown-Code in den entsprechenden formatierten Text umgewandelt. Es stehen alle Arten von Formatierungsfunktionen zur Verfügung, z. B. Fett- und Kursivdruck, geordnete oder ungeordnete Listen, Tabellendarstellung usw. Dies kann sehr nützlich sein, wenn bspw. eine ausführliche Erklärung eines Codeteils gegeben oder der Prozess dokumentiert werden soll.
Es können z.B. auch Markdown-Überschriften zum Strukturieren des Notebooks verwendet werden. Markdown-Überschriften bestehen aus Rautenzeichen #, gefolgt von einem Leerzeichen und dem Titel des Abschnitts:
- "#" für Titel
- "##" für Überschriften
- "###" für Zwischenüberschriften
Bild: 9 Beispiel: Überschriften mit Markdown
Raw-Zelle[Bearbeiten | Quelltext bearbeiten]
Inhalte in Raw-Zellen werden vom Notebook-Kernel nicht ausgewertet. Der Zellentyp "Raw NBConvert" kann verwendet werden, um Code darzustellen, der nicht interpretiert werden soll.
Nach dem Arbeiten im JupyterHub (Stoppen des Servers)[Bearbeiten | Quelltext bearbeiten]
Sobald die Arbeit im JupyterHub beendet ist, sollte stets die Entwicklungsumgebung ausgeschaltet werden, um Ressourcen für andere Nutzer*innen freizugeben.
Der eigene Server kann dazu über das „Hub Control Panel“ gestoppt werden (File -> Hub Control Panel). In diesem Kontroll-Panel kann nicht nur der eigene Server gestoppt und auf den Server zugegriffen werden. Über den Menüpunkt „Services“ sind zusätzlich noch unter „ngshare“ Hinweise für Lehrende und Kursmanagement Optionen zu finden.
Bild: 10 Das Hub Control Panel
Siehe auch[Bearbeiten | Quelltext bearbeiten]
Weitere interessante Artikel zum gleichen Themenfeld verlinken