Die nächste Generation der Jupyter Notebooks, Teil 2 Erste Schritte mit JupyterLab

Von Christian Rentrop |

Anbieter zum Thema

Als hilfreiches Werkzeug für Entwickler hilft JupyterLab bei der theoretischen und praktischen Softwareentwicklung. Das Tool bietet die Möglichkeit, Code, dessen Ergebnis sowie Text in einem Dokument zusammen zu fassen und auf diese Weise zu dokumentieren oder zu erforschen.

Ob Code oder Markdown, JupyterLab führt Syntax auf Wunsch direkt aus.
Ob Code oder Markdown, JupyterLab führt Syntax auf Wunsch direkt aus.
(Bild: Rentrop / Jupyter.org)

Darstellung der im Aufmacherbild beschriebenen Eingabe.
Darstellung der im Aufmacherbild beschriebenen Eingabe.
(Bild: Rentrop / Jupyter.org)

JupyterLab ist die Weiterentwicklung von Jupyter Notebook und erlaubt das zusammenfügen von Code, Daten und erklärendem Text in sogenannten Notebooks. Es erlaubt das Sammeln von Ideen oder die Erforschung von Funktionen und kann dabei natürlich auch kollaborativ eingesetzt werden.

Einmal korrekt installiert und mit den passenden Programmiersprachen ausgerüstet, ist JupyterLab auch schon bereit für das erste Projekt. Um ein erstes Notebook zu erstellen, muss JupyterLab zunächst mit dem Befehl …

jupyter-lab

… im Terminal gestartet werden. Es empfiehlt sich, zunächst im Terminal in den Ordner zu navigieren, in dem das Notebook liegen sollte, da die GUI nicht in übergeordnete Ordner wechseln kann. Anschließend startet der JupyterLab-Server und das Web-Interface – die eigentliche Lab-Anwendung – erscheint im Standard-Browser des Rechners.

Neue Notebooks sind schnell erstellt.
Neue Notebooks sind schnell erstellt.
(Bild: Rentrop / Jupyter.org)

Nun lässt sich über das Plus-Symbol oder über das Menü (File > New) ein neues Notebook anlegen. Alternativ ist es über dieses Menü möglich, reine Markdown- und Textdateien oder eine Python-Datei zu erstellen. Zudem können Terminal- und Konsolen-Fenster direkt im Programm geöffnet werden.

Jupyter Notebooks: Code, Rohtext und Markdown

JupyterLab speichert alle neuen Dateien automatisch im Ordner, in dem sich das Tool gerade befindet. Außerdem ordnet es sie als Reiter nebeneinander an. Diese Tabs dienen nur der Übersicht und können, wir bei Browsern, verschoben oder geschlossen werden. Der Inhalt bleibt dabei erhalten. Die Notebook-Datei hat die Endung .ipynb und bietet Eingabefelder für drei Arten von Content: Markdown-Text, reinen Text oder Code.

Wer den Block-Editor in Wordpress kennt, wird sich hier schnell zuhause fühlen; denn auch der Editor von JupyterLab setzt auf dieses Prinzip und ermöglicht die Neusortierung, das Verschieben, das Kopieren oder das nachträgliche Ändern des Block-Typs. Allerdings nennt Jupyter diese Blöcke nicht Blöcke, sondern „Zellen“. Auf diese Weise können bequem Dokumente erstellt werden, die nicht nur (ausführbaren) Code enthalten, sondern auch formatierten Text.

Code eingeben und ausführen

Grundsätzlich nimmt JupyterLab zunächst Code-Zellen an: Der Benutzer kann einfach den Code in die Zelle schreiben und anschließend auf die „Play“-Taste drücken, um ihn direkt auszuführen. Wichtig daran: Der richtige Kernel (= Programmiersprache) muss ausgewählt sein.

Standardmäßig verwendet JupyterLab Python. Um zum Beispiel C# zu verwenden, ist die Installation und Einrichtung von einem Drittanbieter-Kernel wie Dotnet (siehe ersten Beitrag) notwendig. Anschließend lässt sich der Kernel über die Menüzeile Kernel > Change Kernel oder durch Klick auf den Kernel-Typen im Notebook für das gesamte Notebook umschalten.

Ein erster Python-Befehl, zum Beispiel das beinahe obligatorische …

print("Hello World")

… erzeugt im Notebook nach Klick auf die Play-Taste die gewünschte Ausgabe „Hello World“. Natürlich lassen sich hier auch weit komplexere „Schnipsel“ oder ganze Programmteile in einzelnen Zellen eingegeben und ausführen.

Markdown- und Textfelder erstellen

In zusätzlichen Zellen können jetzt weitere Code-Schnipsel oder Text eingegeben werden. Um erklärenden Text zu schreiben, reicht es aus, diesen wahlweise in Markdown oder als reinen Text in ein neues Feld einzugeben. Gerade Markdown-Text ist eine wunderbare Möglichkeit, direkt formatierten Text zu erstellen. IBM hat hierzu ein praktisches Cheat-Sheet veröffentlicht.

Jupyter unterstützt auch ergänzende Markdown-Dokumente außerhalb der Notebooks.
Jupyter unterstützt auch ergänzende Markdown-Dokumente außerhalb der Notebooks.
(Bild: Rentrop / Jupyter.org)

Per Markdown finden auch mathematische Symbole über LaTeX, Hyperlinks, Listen und andere Elemente ihren Weg ins Notebook. Wichtig dabei: Die jeweilige Zelle muss auf den entsprechenden Eingabetyp umgeschaltet werden: Dazu muss die Zelle markiert und auf das Feld „Code“ geklickt werden: Hier ist die Auswahl von Markdown möglich. Erst anschließend gibt der Block nach Klick auf den Play-Knopf das korrekte Ergebnis aus.

Zellen erstellen, verschieben und löschen

Vorhandene Zellen können jederzeit innerhalb des Notebooks verschoben werden, zudem erlaubt der Editor die Erstellung neuer Code-Zellen jeweils oberhalb oder unterhalb des gerade aktiven Blocks. Ein vorhandener Block kann zudem mit einem Klick kopiert oder gelöscht werden. Für sämtliche Funktionen gibt es zudem praktische Shortcuts, die die Steuerung von JupyterLab ohne lästiges Mausschubsen erlauben.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Besonders wichtig sind hier die Buchstaben M, R und Y: Diese ermöglichen das schnelle Umschalten der aktiven Zellen zu Markdown (M), Rohtext (R) oder Code (Y). Auf diese Weise kann ein entsprechendes Notebook schnell und effektiv gefüllt werden. Das Notebook wird dabei automatisch gespeichert. Soll das nicht passieren, lässt sich die Autosave-Funktion aber auch bequem über das Menü unter Settings durch die Entfernung des Hakens „Autosave Documents“ abschalten.

Notebooks teilen und exportieren

JupyterLab bietet eine Reihe von Möglichkeiten, Notebooks zu teilen und zu exportieren. Sei es, um sie mit mehreren Nutzern zu bearbeiten, sei es, um sie zu veröffentlichen. So können die Ordner oder einzelne Notebooks zum Beispiel über beliebige Cloud-Dienste freigegeben werden.

Notebook-Dateien seit JupyterLab 3.1 setzen zudem auf das yjs-Framework für die Echtzeit-Kollaboration, wodurch Änderungen nachgehalten werden. Alternativ bietet sich die Extension Jupyter-Link-Share an, die die Freigabe innerhalb eines Netzwerks deutlich erleichtert. Anwender, die über das Internet zusammenarbeiten, können sich auch mit Github behelfen, das die Jupyter-Notebooks auch im Browser rendern kann.

Die Exportfunktion gibt Anwendern zahlreiche praktische Optionen.
Die Exportfunktion gibt Anwendern zahlreiche praktische Optionen.
(Bild: Rentrop / Jupyter.org)

Um das Notebook als Markdown, PDF oder HTML auszugeben, gibt es zudem die Export-Funktion: Diese erlaubt mittels nbconvert und der für das jeweilige System verfügbaren LaTeX-Variante – etwa MiKTeX für Windows, MacOS und Linux – die Ausgabe in das entsprechende Dateiformat.

Praktisch für viele Anwendungsszenarien

Die hohe Flexibilität von JupyterLab hilft dabei, Entwicklungsschritte und Code zu entwickeln, zu testen, zu erforschen oder zu dokumentieren. Dadurch ist das Tool ein praktischer Helfer für jeden Nutzer, der sich mit Software-Code beschäftigt. Natürlich sind das längst nicht alle Anwendungszwecke.

Jupyter kann sich zum Beispiel auch als wichtiges Werkzeug für die Datenanalyse, Anleitungen oder den Journalismus anbieten. Kein Wunder also, dass viele namhafte Unternehmen und Organisationen, darunter etwa die renommierte Berkeley-Universität in Kalifornien, IBM, Google oder auch Oracle, Jupyter einsetzen.

(ID:48733874)