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 stehen verschiedene Entwicklungsumgebungen zur Auswahl. Jede dieser Umgebungen ist für unterschiedliche Anwendungsfälle optimiert und bietet die nötigen Werkzeuge für wissenschaftliche Forschung, Datenanalyse, maschinelles Lernen etc.
1. Basis-Notebook / Standard-Python-Umgebung
Diese Option stellt eine minimalistische Jupyter Notebook-Umgebung bereit, die grundlegende Funktionen und Werkzeuge für die Python-Entwicklung unterstützt.
2. Scipy-Notebook / Scientific python environment
Diese Umgebung ist ideal für wissenschaftliche Anwendungen und fügt beliebte Pakete aus dem wissenschaftlichen Python-Ökosystem hinzu.
3. TensorFlow-Umgebung
Diese Umgebung bietet spezialisierte Werkzeuge für maschinelles Lernen mit TensorFlow und fügt beliebte Deep Learning Pakete hinzu.
4. Julia-Umgebung
Diese Umgebung ist speziell für die Entwicklung mit der Programmiersprache Julia konzipiert und fügt beliebte Pakete des Julia-Ökosystems und einen Julia-Kernel hinzu.
5. R-Umgebung
Diese Umgebung bietet Unterstützung für die Programmiersprache R und fügt beliebte Pakete des R-Ökosystems und einen R-Kernel hinzu.
6. Datascience Umgebung
Diese Umgebung ist speziell auf Datenwissenschaft ausgelegt und fügt beliebte Pakete aus dem wissenschaftlichen Python-Ökosystem hinzu.
7. UPB_all-Notebook
Das upb_all-notebook-Image fügt alle oben genannten Images zusammen.
Details zu den Notebook-Images finden Sie unter: https://git.uni-paderborn.de/jupyter/basis-notebook-images/-/tree/dev?ref_type=heads#beschreibung-der-verschiedenen-zim-notebook-images
Die zu Beginn ausgewählte Umgebung legt fest, welche Programmiersprache im jeweiligen Notebook verwendet wird. Wenn beispielsweise ein Notebook in der „Basis-Notebook / Default basic python environment“ erstellt wurde und Python genutzt wird, aber im nächsten Notebook mit Julia gearbeitet werden soll, muss die „Julia-Umgebung“ ausgewählt werden. Es empfiehlt sich, separate Ordner für die unterschiedlichen Umgebungen anzulegen, um Dateien übersichtlich nach genutzter Programmiersprache und Umgebung zu organisieren.
Unter „More Options“ können zusätzliche Einstellungen für die Entwicklungsumgebung vorgenommen werden, wie die Auswahl der Version, der Anzahl der CPU-Cores sowie des verfügbaren Arbeitsspeichers (RAM). Derzeit stehen nur Standardkonfigurationen zur Verfügung. Sollte eine höhere Rechenleistung benötigt werden, kann dies mit entsprechender Begründung beim ZIM werden.
Zusätzlich kann über die Funktion „Generate link“ ein direkter Link zum Notebook-Server erstellt werden, der den Zugang zur bestehenden Umgebung ermöglicht, ohne die oben genannten Einstellungen erneut vornehmen zu müssen. Bei Änderungen an der Konfiguration muss dieser Link über die Option „Update link“ aktualisiert werden.
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/-/tree/dev?ref_type=heads#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.