Einführung in die Verwendung von jupyter notebooks
Das quelloffene Projekt jupyter
bietet eine web-basierte interaktive Umgebung für wissenschaftliche Berechnungen
und Datenauswertung. Die zu Grunde liegenden Dateien sind sogenannte „Notebooks“,
die sowohl formatierten Text als auch Programmcode u. a. in der Sprache Python
und die entsprechende Programmausgabe in Form von Text und Grafiken in einem einzigen
Dokument vom Typ .ipynb speichern.
Vorhandene Python-Skripte sind direkt oder mit sehr wenig Aufwand unter
jupyter lauffähig. Die jupyter-Oberfläche ersetzt eine
Entwicklungsumgebung wie z.B. IDLE.
Zur Formatierung eingegebener Texte wird eine leicht zu erlernende Markup-Sprache
verwendet, die auch Ausdrücke in LaTeX korrekt verarbeitet. Die Konversion vorhandener
Textbausteine ist also leicht zu bewerkstelligen. Notebooks können in verschiedenen
Formaten als komplette Dokumente, insb. auch .pdf und .html,
exportiert und ggf. ausgedruckt werden.
Zur Anzeige und Bearbeitung dient ein beliebiger Web-Browser, der sich mit einem
jupyter-Server verbindet.
Ein jupyter-Server kann entweder lokal auf dem gleichen System wie der Browser
laufen oder auch auf einem über das Netzwerk angebundenen Rechner.
Bei Verwendung eines Servers im Netzwerk oder auch in einer Compute-Cloud muss das Gerät
des Endnutzers nicht besonders leistungsfähig sein, sondern lediglich einen der gängigen
Web-Browser unterstützten.
Eine lokale Installation auf dem System des Nutzers ist leicht möglich, wenn eine Python-Installation vorhanden ist. Dazu den jupyter-Server mit dem installationswerkzeug pip installieren:
> pip install jupyterlab
Dies funktioniert problemlos unter Linux, Mac OS oder auf Windows-Systemen mit installierter Python-Umgebung.
- unter Linux ist Python immer dabei,
häufig allerdings noch in der älteren Version 2.x.
Mit Hilfe des Paket-Managers sollte eine Version 3.5 oder höher installiert werden; - für Windows 10 wird die Umgebung
WinPython empfohlen, die
auch ohne Installation
z.B. von einem externen Speicher läuft. WinPython bringt einen eigenen jupyter-Server mit; - für MacOS wird Anaconda empfohlen.
Auf dem eigenen System kann nun mittels Eingabe von
> jupyter-lab
auf der Kommandozeile der Server gestartet werden. Normalerweise startet
dann ein Web-Browser, und es erscheint die jupyter-Oberfläche.
Sollte dies nicht der Fall sein, wird eine URL angezeigt, die Sie in
Ihren Web-Browser eingeben können, nachdem Sie ihn selbst gestartet haben.
Wenn Sie einen Server im Netzwerk verwenden, geben Sie die URL des Servers
in die Adresszeile des Browsers ein. In der Regel müssen Sie sich mit
Benutzernamen und Kennwort anmelden. Danach startet auch in diesem Fall
die jupyter-Oberfläche.
Die Fakultät für Physik am KIT betreibt einen jupyter-Server unter der URL
Dieser Dienst kann für Angehörige der Physik am KIT über die Authentifizierung im CIP-Pool genutzt werden.Eine allgemein offene Möglichkeit zum Ausprobieren der Jupyter-Tutorials bietet der freie und kostenlose Dienst mybinder.org, der einen in einen Docker-Container eingebetteten jupyter-Server mit allen in diesem Dokument beschriebenen Tutorials zur Verfügung stellt - allerdings mit bescheidenen Rechenressourcen. Hier der Link zu diesem sehr empfehlenswerten Web-Dienst:
Beispiele zum Kennenlernen und Tutorials
Einige einfache Beispiele und Tutorials stehen zum Download bereit.
Am besten speichern Sie sie lokal auf ihrem Computer in einem eigenen
Arbeitsverezeichnis; nutzen Sie dazu die Funktion
"Ziel speichern unter..." ihres Browsers
(i.A. durch Rechts-Klick auf den Link zur Datei).
Einige jupyter-Notebooks zur Einführung in juypter,
Python und Anwendungen zur Datenauswertung sind hier
zusammengestellt:
- Spickzettel für jupyter : JupyterCheatsheet.ipynb
- Einführung in Python : PythonIntro.ipynb
- Spickzettel für Python : PythonCheatsheet.ipynb
- Grundlagen zur Verwendung von matplotlib : matplotlibTutorial.ipynb
- Grundlagen der Statistik: IntroStatistik.ipynb
- Fehlerrechnung im Physikalischen Praktikum: Fehlerrechnung.ipynb
- Tutorium zu kafe2: kafe2Tutorial.ipynb
- Anpassung mit der Maximum-Likelihood-Methode: negLogLFits.ipynb
- Modellanpassung für Fortgeschrittene (engl.): advancedFitting.ipynb
- Einführung in das Datenverwaltungs- und -analyse-Werkzeug pandas (engl.): pandasBasics.ipynb
- Grundlagen der Multivariaten Datenanalyse (Machine Learning): MVA-Grundlagen.ipynb
Los geht's !
Starten Sie einen eigenen jupyter-Server,
oder verbinden Sie sich über Ihren Web-Browser mit dem
Jupyter-Server der Fakultät für Physik
oder mit dem freien Dienst
mybinder.org.
Wenn die jupyter-Oberfläche in Ihrem Web-Browser erscheint, kann
es direkt los gehen. Sie sehen eine Menüleiste, darunter links ein Fenster
mit einer Dateiliste des Arbeitsverzeichnisses, und rechts ein großes
Fenster für die Anzeige von Text, Programm-Code und Programmausgaben.
Links oben in der Menüleiste gibt es ein Symbol "↥ (Upload)" für das
(Hoch-)Laden eines jupyter-Notebooks in den Arbeitsbereich des
jupyter-Servers.
Klicken Sie es an und wählen Sie im Datei-Browser eine der eben
heruntergeladnen Dateien des Typs .ipynb aus.
Das ausgewählte Notebook erscheint nun in der Dateiliste; starten Sie
es mit einem Doppelklick.
Sie sehen nun den Inhalt des ausgewählten Notebooks im Hauptfenster der Oberfläche. Folgen Sie den Hinweisen im angezeigten Text; die Tutorials sind so ausgelegt, dass sie selbsterklärend sein sollten.
Um einen Eindruck zu gewinnen, ohne jupyter auszuführen, können Sie die folgenden Ausdrucke im pdf-Format anschauen:
- Einführung in matplotlib: matplotlibTutorial.pdf
- Grundlagen der Statistik: IntroStatistik.pdf
- Fehlerrechnung im Physikalischen Praktikum: Fehlerrechnung.pdf
- Anpassungen mit der Maximum-Likelihood-Methode: negLogLFits.pdf
- für Fortgeschrittene (engl.): advancedFitting.pdf
- alle Tutorials zum Download
- Skript: Funktionsanpassung mit der χ2-Methode
- Funktionsanpassung in Python (Paket kafe bzw. kafe2)
-
Software-Tools im Paket
PhyPraKit,
Download des gesamten Pakets mit Beispielen
PhyPraKit-master.zip
PhyPraKit auf git.scc und Dateien zum Download