JupyterLab zur Analyse und Forschung

In den vergangenen Jahren ist seit 2001 aus dem interaktiven Kommandozeileninterpreter IPython ist mit JupyterLab und JupyterHub eine umfangreiche Platform für wissenschaftliches Arbeiten geworden.

Es muss so 2007 oder 2008 gewesen sein, als ich erste Schritte mit Python machte und auf der Suche nach einem interaktiven Pythoninterpreter über IPython gestolpert bin. Damals half es mir sehr dabei die API interaktiv zu entdecken und kleine Beispiel interaktiv durchzuführen. Im Laufe der Zeit entstand eine Weboberfläche und kleine Programme konnten in Form von sogenannten Notebooks abgespeichert werden. Damals hatte ich nicht viel Verwendung dafür, da ich meist kleinere Skripte oder Serveranwendungen geschrieben habe.

Aktuell bin ich gerade dabei zu schauen, wie Daten von Fitness-Trackern ausgewertet werden können. Dazu möchte ich die Daten nicht einfach generieren, sondern interaktiv schauen, was aus den Daten gemacht werden kann. Inzwischen ist aus IPython JupyterLab und JupyterHub geworden. Dabei wird das Frontend vom Backend entkoppelt und es wird über sogenannte Kernel nicht nur Python sondern auch viele andere Sprachen unterstützt. JupyterLab richtet sich dabei an einzelne Nutzer die ihre Notebooks im Browser verwalten und ausführen wollen. JupyterHub ermöglicht grob gesagt das gleiche, jedoch wird der einsatz mit mehren Benutzern unterstützt, wodurch es sich für größere zentrale Installationen eignet.

Installation

Die Installation von JupyterLab ist erstaunlich einfach.

$ pip install jupyterlab

Verwendung

War die Installation erfolgreich kann der Server gestartet werden.

$ jupyter lab
[I 2021-03-16 19:27:01.148 ServerApp] jupyterlab | extension was successfully linked.
[I 2021-03-16 19:27:01.341 ServerApp] nbclassic | extension was successfully linked.
[I 2021-03-16 19:27:01.377 LabApp] JupyterLab extension loaded from /home/user/jupyter/venv/lib/python3.9/site-packages/jupyterlab
[I 2021-03-16 19:27:01.377 LabApp] JupyterLab application directory is /home/user/jupyter/venv/share/jupyter/lab
[I 2021-03-16 19:27:01.383 ServerApp] jupyterlab | extension was successfully loaded.
[I 2021-03-16 19:27:01.387 ServerApp] nbclassic | extension was successfully loaded.
[I 2021-03-16 19:27:01.390 ServerApp] Serving notebooks from local directory: /home/user/jupyter
[I 2021-03-16 19:27:01.390 ServerApp] Jupyter Server 1.4.1 is running at:
[I 2021-03-16 19:27:01.390 ServerApp] http://localhost:8888/lab?token=6bf44691519def02a801249a1bae2994356624622a1faa76
[I 2021-03-16 19:27:01.390 ServerApp]  or http://127.0.0.1:8888/lab?token=6bf44691519def02a801249a1bae2994356624622a1faa76
[I 2021-03-16 19:27:01.390 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[...]

Es sollte sich automatisch ein Browserfenster öffnen. Alternativ kann die URL inklusive des Token kopiert werden. Wichtig dabei ist, dass der Token bei jedem Start neu generiert und für den Zugriff notwendig ist.

Bilder

Fazit

Kein Wunder, dass Jupyter Notebooks im wissenschaftlichen Bereich oft zum Einsatz kommen. Der Quellcode, die Daten und die Analyse lassen sich nach ersten Tests damit gut dokumentieren. Aktuell scheint es auch alles was ich für meine Analysen brauche in irgend einer Form zu geben. Ich bin gespannt wie weit ich komme oder ob ich wieder auf ein einfache Python Script wechseln muss.

Links

Verwandte Artikel