Die nächste Generation der Jupyter Notebooks, Teil 1 JupyterLab installieren und einrichten

Von Christian Rentrop

Anbieter zum Thema

Das Jupyter-Projekt kann die Software-Entwicklung auf ein neues Level heben: Sogenannte Notebooks erlauben das Zusammenfügen von Code, Output, regulärem Text, mathematischen Gleichungen und mehr in einem Dokument. Wir geben einen Einstieg in das jüngste Frontend JupyterLab.

Mit zusätzlichen Kernels wie hier Dotnet versteht JupyterLab mehr als nur Python.
Mit zusätzlichen Kernels wie hier Dotnet versteht JupyterLab mehr als nur Python.
(Bild: Rentrop / Jupyter.org)

Developer und Informatik-Studierende kennen das Problem: Die Software-Entwicklung verlangt oft mehr als nur das Schreiben von Code. Vielmehr müssen neben dem Code nicht selten dessen Output, erklärende Texte, mathematische Formeln, Daten, Schaubilder und Grafiken nachgehalten werden.

Um all das nachzuhalten, müssen nicht selten zahlreiche Anwendungen, Dienste, Dateien und Ordner auf dem Rechner oder im Netzwerk gepflegt und aktualisiert werden – ein riesiger Overhead. Mit Hilfe des Jupyter-Projekts geht das zum Glück inzwischen einfacher.

Als Software auf dem lokalen Rechner oder Server eingerichtet, erlauben sogenannte Notebooks, die bei der Entwicklung anfallenden „Nebenbaustellen“ in einem einzelnen Dokument nachzuhalten. Das erleichtert vor allem die theoretische Arbeit enorm. Mit JupyterLab gibt es inzwischen ein hervorragendes Frontend für die Software.

Notebooks verstehen

Der eigentliche Code ist nur ein Teil des Denkprozesses in der Softwareentwicklung, zudem ist Code auch gleichzeitig immer ein Experiment, nämlich ob die Idee sich umsetzen lässt. Genau für diesen Zweck bietet JupyterLab die Notebook-Dateien: Diese können nicht nur Code samt Output und erklärendem Text in Plaintext, HTML, LaTeX oder Markdown enthalten, sondern lassen sich auch einfach für die kollaborative Arbeit verwenden.

User können sie somit einfach wie eine normale Datei versenden oder eben per Cloud oder Github für andere Entwicklerinnen und Entwickler freigeben. Praktischerweise rendert Github die Jupyter-Notebook-Dateien auch gleich als statische Website in HTML. Auf diese Weise können andere Anwender die Datei nicht nur einsehen, sondern auch direkt modifizieren und aktualisieren.

Das klappt natürlich auch öffentlich, um die Ergebnisse weiterzugeben oder zu veröffentlichen. In Kombination mit Docker kann Jupyter als sogenanntes Stack Image auch gleich die notwendigen Dateien für die Entwicklung enthalten und so im kollaborativen Umfeld die Arbeitsumgebung homogenisieren.

JupyterLab installieren

Anwender müssen JupyterLab lokal auf ihrem Rechner oder auf einem Server im Netzwerk installieren, es ist kein Web-Service, sondern eine Python-Anwendung mit Web-Interface. Diese wird einfach mit dem Befehl …

pip install jupyterlab

… im Terminal unter Windows oder Linux installiert. Mac-Nutzer müssen möglicherweise den Befehl anpassen und …

pip3 install jupyterlab

… eingeben, um das Tool zu installieren. Alternativ können, falls die Installation über pip Probleme verursacht, auch Paketmanager wie snap, anaconda oder mamba mit der entsprechenden Installations-Syntax verwendet werden. Am Mac kann Homebrew mit dem Befehl …

brew install jupyterlab

… die deutlich einfachere Lösung darstellen. Einmal korrekt installiert, ist JupyterLab auch schon einsatzbereit. Mit dem Befehl …

jupyter-lab

… kann JupyterLab nun gestartet werden: Das Frontend wird wird automatisch in einem Browser-Fenster geöffnet.

JupyterLab: Ein erstes Notebook erstellen

JupyterLab verwendet sogenannte Notebooks für die Inhaltssammlung. In diesen Notebooks werden Zellen angelegt, die es erlauben, Text und Code abzuwechseln, ohne dass diese sich gegenseitig beeinflussen. Code wird auf Wunsch direkt innerhalb dieser Zellen ausgeführt, wodurch auch gleich das Ergebnis sichtbar wird. Ein einfaches …

print("Hello World")

… ergibt, natürlich, die Ausgabe „Hello World“, die ihrerseits unterhalb der entsprechenden Zelle angezeigt wird. Aber von vorne: Um ein neues Notebook anzulegen, müssen Anwender zunächst das Plus-Symbol oben links bemühen. Hier stellt JupyterLab sie vor die Wahl zwischen einem Notebook, einer Konsole und anderen Funktionen wie einem Terminal, einer Text-, Markdown- oder Python-Datei sowie der Kontexthilfe.

Hier stellt sich sofort die Frage, ob nur Python unterstützt wird. Die Antwort lautet: Natürlich nicht! Denn JupyterLab erlaubt die Verwendung verschiedener Programmiersprachen – dazu müssen nur die passenden „Kernel“ installiert werden.

Zusätzliche Kernels installieren

Um Jupyter zu einem vollumfänglich nützlichen Entwicklertool zu machen, ist es wichtig, dass es andere Sprachen versteht, etwa C, Java, NodeJS oder Perl. Diese Sprachen werden in Form sogenannter Kernels in Jupyter eingerichtet. Inzwischen gibt es eine große Zahl kompatibler Kernels, die mit wenigen Handgriffen ihren Weg in JupyterLab finden.

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

Mit zusätzlichen Kernels wie hier Dotnet versteht JupyterLab mehr als nur Python.
Mit zusätzlichen Kernels wie hier Dotnet versteht JupyterLab mehr als nur Python.
(Bild: Rentrop / Jupyter.org)

Das wollen wir hier am Beispiel von Microsofts Dotnet durchspielen. Dazu muss der aktuelle Dotnet-Core auf dem Server oder System installiert werden, auf dem auch Jupyter läuft. Während hier für MacOS und Windows grafische Installer vorliegen, müssen Linux-User zunächst die passende Microsoft-Paketquelle hinzufügen und anschließend das passende Dotnet-Core-System einrichten.

Zu guter Letzt gilt es, noch Dotnet Interactive mit …

dotnet tool install --global Microsoft.dotnet-interactive

einzurichten. Es enthält die Unterstützung für Dotnet durch Jupyter. Zu guter Letzt wird der Jupyter-Kernel via …

dotnet interactive jupyter install

… im System aufgesetzt. In Jupyter Notebook kann der Dotnet-Kernel dann in Jupyter Notebook ausgewählt werden: Im Menü gibt es jetzt den entsprechenden Eintrag, zudem ist es im aktiven Notebook jederzeit möglich, den verwendeten Kernel umzuschalten.

JupyterLab verwenden

JupyterLab lässt sich systemweit aus jedem Ordner heraus starten und verwendet dann die Unterordner des jeweiligen Ordners. Auf diese Weise ist sichergestellt, dass das Tool auch nur auf die Ressourcen zugreift, die es wirklich verwenden soll. Innerhalb dieses Ordners können auch Code- und Textdateien ganz einfach geöffnet werden. JupyterLab speichert sämtliche Dateien automatisch ab. Einmal korrekt eingerichtet, ist das Tool leistungsfähig und effizient, wie wir im zweiten Teil zeigen werden.

(ID:48658269)