Allgemeine Informationen
Anleitung | |
---|---|
Informationen | |
Betriebssystem | Alle |
Service | Jupyter |
Interessant für | Gäste, Angestellte und Studierende |
HilfeWiki des ZIM der Uni Paderborn |
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 und Julia.
Zugang zur Jupyter Anwendung[Bearbeiten | Quelltext bearbeiten]
- Rufen Sie das Serviceportal auf: https://serviceportal.uni-paderborn.de
- Melden Sie sich mit Ihrem Uni-Account an.
- Wählen Sie unter Benutzerverwaltung den Menüpunkt Weitere Dienste aus.
- Scrollen Sie zum Ende der Seite.
- Schalten Sie die Erweiterte Ansicht auf "An".
- Klicken Sie in der Zeile Jupyter auf Optionen.
- Klicken Sie auf Beantragen.
- Anschließend können Sie sich mit dem Uni-Account bei Jupyter anmelden:
Beschreibung der verschiedenen ZIM-Notebook-Images[Bearbeiten | Quelltext bearbeiten]
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:
- Alles aus dem Scipy-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.
Unter „more options“ können für die Entwicklungsumgebung noch Einstellungen für Version, CPU-Cores und RAM vorgenommen werden. Zurzeit stehen nur die default Varianten zur Auswahl zur Verfügung. Falls mehr Performance erwünscht ist, kann dies beim ZIM mit Begründung beantragt werden.
Außerdem kann ein Link zum Notebook Server generiert werden („Generate link“), der direkten Zugriff auf den Server erlaubt, ohne die oben genannten Einstellungen erneut vornehmen zu müssen. Bei Änderungen muss dieser Link aktualisiert werden („Update link“).
Eigenes Image beantragen[Bearbeiten | Quelltext bearbeiten]
Wichtig: Das ZIM übernimmt keine Wartung für eigene Images. Zudem kann nach einem JupyterHub-Update nicht garantiert werden, dass eigene Images weiterhin kompatibel sind. Dies gilt nicht für die oben genannten ZIM-Notebook-Images, bei denen die Kompatibilität gewährleistet wird.
Für die Nutzung eigener Images sind fundierte Kenntnisse in Git und Docker erforderlich.
Um ein eigenes Image zu beantragen, muss eine entsprechende Anfrage an das ZIM (zim(at)upb(dot)de) gesendet werden. Weitere Informationen zu eigenen Images finden sich hier: https://git.uni-paderborn.de/jupyter/basis-notebook-images#eigene-notebook-images
Für die Nutzung des GitLab-Systems des ZIM ist es erforderlich, diesen Dienst über das Serviceportal zu beantragen.
Die Anfrage zur Nutzung eines eigenen Images beim ZIM sollte die folgenden Informationen enthalten:
- Verantwortlicher für das Image
- Anzeigename des Images
- Kurze Beschreibung des Images
- Name, Repository und Version des Images
- LDAP-Gruppe der Personen, welche das Image benutzen dürfen
- Benötigte zusätzliche Ressourcen (RAM, CPU) mit Begründung
Nachdem die Anfrage vom ZIM bestätigt und alle Anforderungen korrekt eingetragen wurden, kann das Image regulär über den JupyterHub genutzt werden.
Hinweis: In eigenen Images ist die Nutzung der Erweiterung Grader Service nicht möglich.
JupyterHub[Bearbeiten | Quelltext bearbeiten]
Nach der Auswahl einer Entwicklungsumgebung wird die JupyterHub-Oberfläche geladen.
Links befindet sich das Notebook-Dashboard, das eine Übersicht aller erstellten Notebooks und Ordner bietet, während auf der rechten Seite der Notebook-Editor angezeigt wird.
Hinweis: Es besteht die Möglichkeit, zur klassischen Jupyter Notebook-Ansicht zu wechseln. Dies kann über das Menü Help → Launch Classic Notebook erfolgen. Die folgenden Erklärungen gelten sowohl für JupyterLab als auch für die klassische Jupyter Notebook-Oberfläche.
Das Notebook-Dashboard[Bearbeiten | Quelltext bearbeiten]
Das Dashboard enthält vier Registerkarten.
Der File Browser Tab[Bearbeiten | Quelltext bearbeiten]
Im File Browser (1) werden Dateien und Ordner des aktuellen Verzeichnisses angezeigt. Mit einem Klick New Launcher (a) können neue Dateien erstellt oder Konsolen gestartet werden. Über New Folder (b) wird ein neuer Ordner angelegt, während mit Upload Files (c) Dateien auf den Notebook-Server hochgeladen werden können. Dateien können zudem per Drag-and-Drop in das Dashboard gezogen werden. Mit Refresh File List (d) lässt sich die Dateiliste aktualisieren.
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.
Der Running Terminals and Kernels Tab[Bearbeiten | Quelltext bearbeiten]
Dieser Tab (2) zeigt alle aktuell laufenden Notebooks, Terminals und Kernels an. Hier können Notebooks und Terminals geschlossen bzw. die Kernels gestoppt werden.
Der Table of Contents Tab[Bearbeiten | Quelltext bearbeiten]
Im Table of Contents-Tab (3) wird ein Inhaltsverzeichnis aller im Notebook vorhandenen Überschriften angezeigt, was die Navigation in umfangreichen Notebooks erleichtern kann.
Extension Manager[Bearbeiten | Quelltext bearbeiten]
Der Extension Manager (4) kann verwendet werden, um Erweiterungen für JupyterHub zu verwalten.
Der Notebook-Editor[Bearbeiten | Quelltext bearbeiten]
Im Notebook-Editor können Benutzer*innen in Notebooks arbeiten. Ein geöffnetes Notebook ist mit einem Kernel verbunden, der den geschriebenen Code ausführt. Wenn dasselbe Notebook erneut geöffnet wird, verbindet es sich automatisch wieder mit dem ursprünglichen Kernel. Über den Tab Running Terminals and Kernels im Dashboard können alle Notebooks mit aktivem Kernel angezeigt und verwaltet werden.
Der Editor besteht aus mehreren Bereichen: Dashboard, Menüleiste, Toolbar und einer leeren Zelle, in der entweder Code oder Markdown-Text eingegeben werden kann.
Menüleiste
Die Menüleiste bietet folgende Optionen:
- File:
- New: Erstellen eines neuen Notebooks oder einer anderen Datei
- Save Notebook/Save All: Speichern des aktuellen bzw. aller Notebooks
- Download: Herunterladen des Notebooks als .ipynb-Datei
- Save and Export Notebook As...: Exportieren des Notebooks in verschiedenen Dateiformaten
- Edit:
- Bearbeiten von Zellen (Ausschneiden, Kopieren, Einfügen), Löschen oder Teilen/Zusammenführen von Zellen sowie Verschieben nach oben oder unten.
- View:
- Anpassung des Erscheinungsbilds von Jupyter, wie z. B. das Anzeigen oder Verbergen von Toolbars.
- Run:
- Ausführen von ausgewählten oder allen Zellen.
- Kernel:
- Optionen zur Verwaltung des Kernels, wie Neustart, Unterbrechen oder Herunterfahren.
- Tabs:
- Zeigt geöffnete Dokumente und Aktivitäten an.
- Settings:
- Allgemeine Einstellungen
- Help:
- Bietet Links zur JupyterLab-Hilfe.
Toolbar
Die Toolbar ermöglicht den schnellen Zugriff auf häufig genutzte Funktionen der Menüleiste. Die Funktionen der Toolbar sind folgende:
- Save and create checkpoint: Speichern des Notebooks
- Insert a cell below: Einfügen einer neuen Zelle unterhalb der aktuellen Zelle
- Cut this cell: Ausschneiden von Zellen
- Copy this cell: Kopieren von Zellen
- Paste this cell from the clipboard: Einfügen von Zellen
- Run this cell and advance: Ausführen der ausgewählten Zellen
- Interrupt the kernel: Unterbrechen des Kernels
- Restart the kernel: Neustart des Kernels
- Restart the kernel and run all cells: Neustart des Kernels und Ausführung aller Zellen
- Select the cell type: Auswahl des Zelltyps, z. B. Code oder Markdown
Außerdem findet sich oben rechts im Editor der Kernel-Indikator, der den Status des Kernels anzeigt: Ein leerer Kreis bedeutet, dass der Kernel inaktiv ist, während ein gefüllter Kreis anzeigt, dass der Kernel gerade arbeitet.
Die verschiedenen Zell-Typen[Bearbeiten | Quelltext bearbeiten]
Ein Jupyter Notebook besteht aus einer Abfolge von Zellen, die verschiedene Inhalte enthalten können. Eine Zelle ist ein mehrzeiliges Texteingabefeld, dessen Inhalt auf verschiedene Weise ausgeführt wird: durch Drücken von Shift + Enter, über die Schaltfläche „Run this cell and advance“ in der Toolbar oder über das Menü (Run -> Run selected cells).
Es gibt drei Haupttypen von Zellen: Code-Zellen, Markdown-Zellen und Raw-Zellen. Standardmäßig ist jede neue Zelle eine Code-Zelle, aber der Zelltyp kann über ein Dropdown-Menü in der Toolbar (anfangs mit „Code“ beschriftet) geändert werden.
Code[Bearbeiten | Quelltext bearbeiten]
In Code-Zellen kann Programmcode bearbeitet und ausgeführt werden. Die verwendete Programmiersprache hängt vom Kernel ab, der durch die bei der Erstellung des Notebooks gewählte Umgebung bestimmt wird. Dies bedeutet, dass die anfangs ausgewählte Umgebung festlegt, welche Programmiersprache im Notebook angewendet werden kann.
Bei der Ausführung einer Code-Zelle wird der enthaltene Code an den verbundenen Kernel gesendet. Der Kernel verarbeitet den Code und liefert das Ergebnis zurück, das im Notebook als Ausgabe angezeigt wird. Diese Ausgabe kann Text, Abbildungen, HTML-Tabellen oder andere Formen umfassen.
Vor jeder Code-Zelle werden eckige Klammern angezeigt, die die Reihenfolge der Ausführung markieren. Leere eckige Klammern ([]) bedeuten, dass die Zelle noch nicht ausgeführt wurde, während ein Sternchen ([*]) darauf hinweist, dass die Zelle aktuell ausgeführt wird. Sobald der Code ausgeführt ist, zeigt die Nummer in den Klammern an, in welcher Reihenfolge die Zelle im Vergleich zu anderen ausgeführt wurde.
Zu beachten ist, dass die Ergebnisse von Code-Zellen später in anderen Zellen verwendet werden können. Daher ist das Ergebnis von der Reihenfolge der Ausführung abhängig.
Markdown-Zelle[Bearbeiten | Quelltext bearbeiten]
Markdown-Zellen enthalten formatierten Text, der mit der Auszeichnungssprache Markdown geschrieben wird. Wird eine Markdown-Zelle ausgeführt, wird der Markdown-Text in formatierten Text umgewandelt. Mit Markdown lassen sich vielfältige Formatierungen realisieren, wie z. B. fettgedruckter oder kursiver Text, geordnete und ungeordnete Listen sowie Tabellen.
Markdown-Zellen sind besonders nützlich, um Kommentare oder Erklärungen im Notebook einzufügen oder den Arbeitsablauf zu dokumentieren. Sie können auch verwendet werden, um Überschriften und Unterüberschriften zu erstellen und das Notebook zu strukturieren. Überschriften werden mit Rautenzeichen (#) markiert, gefolgt von einem Leerzeichen und dem Titel:
- # für Hauptüberschriften
- ## für Unterüberschriften
- ### für Zwischenüberschriften
Raw-Zelle[Bearbeiten | Quelltext bearbeiten]
In Raw-Zellen wird der eingegebene Inhalt vom Kernel nicht ausgeführt oder verarbeitet. Dieser Zellentyp eignet sich für Inhalte, die unverändert bleiben sollen, wie z. B. Beispielcode, der nicht ausgeführt werden soll.
Beenden der Sitzung 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).
Alternativ wird der Server automatisch heruntergefahren, wenn der/die Nutzer/in sich abmeldet. Zudem erfolgt nach 2 Stunden Inaktivität ein automatisches Logout.