Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:services:application_services:jupyter:start [2019/10/01 10:49] bbrauns [Zusätzlichen julia kernel installieren] |
de:services:application_services:jupyter:start [2019/12/11 08:49] (aktuell) bbrauns [Benutzung] |
||
---|---|---|---|
Zeile 38: | Zeile 38: | ||
* jupyter.gwdg.de ist nicht für kontinuierliche Berechnungen über mehrere Tage geeignet. | * jupyter.gwdg.de ist nicht für kontinuierliche Berechnungen über mehrere Tage geeignet. | ||
+ | === Notebook startet nicht mehr nach Paketinstallation oder Update, Fehler 500 === | ||
+ | |||
+ | Sollte nach einem Upgrade von Paketen oder Installation neuer Pakete kein Notebook mehr startbar sein (Fehler 500), kann es helfen, im Terminal den Pfad ''.local'' umzubenennen: | ||
+ | <code bash> | ||
+ | mv -v .local/ .local.gwdg-disable | ||
+ | </code> | ||
+ | Anschließend sollte der Notebook-Server neugestartet werden. Hierzu oben rechts auf "Control Panel" - "Stop My Server" -> "My Server". Dadurch werden alle zusätzlich durch ''pip'' installierten Pakete deaktiviert. Das Notebook sollte sich dann wieder starten lassen. | ||
==== Installation zusätzlicher Python Module ==== | ==== Installation zusätzlicher Python Module ==== | ||
Zusätzliche Python Module können über das Terminal und den Python package manager "pip" installiert werden. Hierzu muss über das Menü "New" -> "Terminal" ein Terminal geöffnet werden. Anschließend wird mit <code>pip install --user <module></code> ein neues Modul in das Home-Verzeichnis installiert. | Zusätzliche Python Module können über das Terminal und den Python package manager "pip" installiert werden. Hierzu muss über das Menü "New" -> "Terminal" ein Terminal geöffnet werden. Anschließend wird mit <code>pip install --user <module></code> ein neues Modul in das Home-Verzeichnis installiert. | ||
Zeile 51: | Zeile 58: | ||
Der Präfix mit TEMP lässt pip diesen Ort für dieses eine Installation für temporäre Daten verwenden. | Der Präfix mit TEMP lässt pip diesen Ort für dieses eine Installation für temporäre Daten verwenden. | ||
+ | |||
+ | |||
+ | ==== Installation zusätzlicher Pakete per Conda in einem eigenen Environment ==== | ||
+ | |||
+ | Die Verwaltung von Softwarepaketen und Environments mit Conda erfolgt in einer Terminal-Sitzung des Notebook-Servers. Dazu muß nach der Anmeldung am Dienst eine Terminal über ''New -> Terminal'' gestartet werden. | ||
+ | |||
+ | Bevor mit ''conda'' gearbeitet wird, sollten die Conda-Funktionen geladen werden (<b>Punkt am Anfang beachten!</b>): | ||
+ | <code bash> | ||
+ | . /opt/conda/etc/profile.d/conda.sh | ||
+ | </code> | ||
+ | |||
+ | === Erstellen eines neuen Environments === | ||
+ | |||
+ | Im Folgenden wird ein neues, einfaches Conda-Environment ''wikidoku'' erstellt, beispielhaft das Python-Modul ''jinja2'' installiert und das Environment für das Notebook verfügbar gemacht. | ||
+ | |||
+ | Erstellen und Aktivieren des Environments: | ||
+ | <code bash> | ||
+ | conda create -y --prefix ./wikidoku | ||
+ | conda activate ./wikidoku | ||
+ | </code> | ||
+ | |||
+ | Als nächstes wird beispielhaft das Paket ''jinja2'' installiert. An dieser Stelle kann nun beliebig Software aus beliebigen Conda-Channels installiert werden. | ||
+ | <code bash> | ||
+ | conda install -y jinja2 | ||
+ | </code> | ||
+ | |||
+ | Das nun aktivierte Environment wird dem Notebook-Server bekannt gemacht. ''--name'' und ''--display-name'' können frei gewählt werden, letzteres wird später in der Auswahl des Notebooks angezeigt. Der zweite Befehl listet alle bekannten Environments auf. Abschließend wird das Environment verlassen. | ||
+ | <code bash> | ||
+ | python3 -m ipykernel install --user --name wikidoku --display-name "Python (wikidoku)" | ||
+ | jupyter kernelspec list | ||
+ | conda deactivate | ||
+ | </code> | ||
+ | |||
+ | Sollte die Installation des Kernels mit der Fehlermeldung abbrechen ''/usr/bin/python: No module named ipykernel'', dann muß zuerst das ''jupyter''-Module in dem aktuellen Environment installiert werden: | ||
+ | <code bash> | ||
+ | python3 -m pip install jupyter | ||
+ | </code> | ||
+ | |||
+ | === Auswählen eines Environments === | ||
+ | |||
+ | == Neustart des Notebook-Servers == | ||
+ | |||
+ | Wurde ein neues Environment erstellt, muß zunächst der Notebook-Server neu gestartete werden. Dazu alle offenen Terminals und Notebooks schließen und in der Jupyter-Übersicht oben rechts auf ''Control Panel'' klicken. Mit ''Stop My Server'' den Notebook-Server anhalten und mit ''Start My Server''wieder starten. | ||
+ | |||
+ | Über ''New ->'' kann nun ein neues Notebook mit dem neue Environment gestartet werden. Bei einem vorhandenen Notebook kann nach dem Öffnen der Kernel gewechselt werden über das Menü ''Kernel -> Change Kernel''. | ||
+ | |||
+ | === Installieren anderer Kernel in einem Conda-Environment === | ||
+ | |||
+ | Die Installation eines eigenständigen Python-Kernels nur für das aktuelle Environment ist möglich. Hier wird beispielhaft die Installation eines alten python-2.7-Kernels gezeigt. | ||
+ | |||
+ | Ein neues Environment wird nach den o.g. Schritten erzeugt und aktiviert. | ||
+ | Danach erfolgt die Installation der Kernels, des ''jupyter''-Moduls für den Kernel und abschließend wird der neue Kernel für den Notebook-Server aktiviert: | ||
+ | <code bash> | ||
+ | conda install -y python=2.7 | ||
+ | python -m pip install jupyter | ||
+ | python -m ipykernel install --user --name oldpython --display-name "Python 2.7 (oldpython)" | ||
+ | </code> | ||
+ | |||
+ | Der neue Kernel steht nun in neu-gestarteten Notebooks (s.o.) in der Kernel-Auswahl zur Verfügung. | ||
+ | Die aktuelle Kernel-Version kann in einem Notebook überprüft werden mit den folgendem Code: | ||
+ | <code python> | ||
+ | import sys | ||
+ | print (sys.version) | ||
+ | </code> | ||
+ | |||
+ | === Environment entfernen === | ||
+ | |||
+ | Um ein Environment zu entfernen, wird es vom Notebook-Server abgemeldet und dann die zugehörigen Dateien gelöscht (optional, aber empfohlen). | ||
+ | |||
+ | <code bash> | ||
+ | jupyter kernelspec list | ||
+ | jupyter kernelspec remove wikidoku | ||
+ | rm -rf ./wikidoku | ||
+ | </code> | ||
+ | |||
==== Installation zusätzlicher R Pakete ==== | ==== Installation zusätzlicher R Pakete ==== | ||
<code> | <code> | ||
Zeile 78: | Zeile 160: | ||
<code> | <code> | ||
- | jovyan@0d5793127e96:~$ ls mynotebooks/ | + | ls mynotebooks/ |
myfile.txt | myfile.txt | ||
- | jovyan@0d5793127e96:~$ rsync -av ~/mynotebooks/ bbrauns@login.gwdg.de:/usr/users/bbrauns/mynotebooks/ | + | rsync -av ~/mynotebooks/ bbrauns@login.gwdg.de:/usr/users/bbrauns/mynotebooks/ |
bbrauns@login.gwdg.de's password: | bbrauns@login.gwdg.de's password: | ||
sending incremental file list | sending incremental file list | ||
Zeile 132: | Zeile 214: | ||
</code> | </code> | ||
- | ==== Zusätzliche Pakete per Conda in einem eigenen Environment installieren ==== | ||
- | == Create conda env == | ||
- | <code>jovyan@a83435296f64:~$ conda create --prefix ./myawesomecondaenv</code> | ||
- | |||
- | == Create custom jupyter kernel == | ||
- | <code> jovyan@a83435296f64:~$ python3 -m ipykernel install --user --name=myawesomecondaenv</code> | ||
- | |||
- | == Activate conda env == | ||
- | <code> | ||
- | jovyan@a83435296f64:~$ . /opt/conda/etc/profile.d/conda.sh | ||
- | jovyan@a83435296f64:~$ conda activate ./myawesomecondaenv | ||
- | </code> | ||
- | |||
- | == Install new version of python3 == | ||
- | <code>(/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ conda install python=3.6 </code> | ||
- | |||
- | == Conda env must have jupyter packages to serve a notebook == | ||
- | <code>(/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ python3 -m pip install jupyter </code> | ||
- | |||
- | == Anpassen auf lokalen Pfad == | ||
- | <code> | ||
- | (/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ sed -i "s|/opt/conda/bin/python3|$(readlink -f myawesomecondaenv/bin/python3)|" .local/share/jupyter/kernels/myawesomecondaenv/kernel.json | ||
- | (/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ cat .local/share/jupyter/kernels/myawesomecondaenv/kernel.json | ||
- | { | ||
- | "argv": [ | ||
- | "/home/jovyan/myawesomecondaenv/bin/python3", | ||
- | "-m", | ||
- | "ipykernel_launcher", | ||
- | "-f", | ||
- | "{connection_file}" | ||
- | ], | ||
- | "display_name": "myawesomecondaenv", | ||
- | "language": "python" | ||
- | } | ||
- | </code> | ||
- | |||
- | == Kernelspec überprüfen == | ||
- | <code>(/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ jupyter kernelspec list</code> | ||
- | |||
- | == Install custom packages== | ||
- | <code>(/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ conda install chameleon</code> | ||
- | |||
- | == conda env im Terminal deaktivieren == | ||
- | <code>(/home/jovyan/myawesomecondaenv) jovyan@a83435296f64:~$ conda deactivate</code> | ||
- | |||
- | == notebook server neustarten == | ||
- | Control Panel -> Stop My Server -> Start My Server | ||
- | |||
- | == Notebook mit neuem Kernel erstellen == | ||
- | New -> Notebook: myawesomecondaenv | ||
- | == Paket im notebook importieren == | ||
- | <code>import chameleon</code> | ||
===== Mehr Informationen zum offener Testbetrieb ===== | ===== Mehr Informationen zum offener Testbetrieb ===== | ||
Welche Bedeutung der [[de:services:application_services:jupyter:beta|offene Testbetrieb]] für die praktische Verwendung von [[https://jupyter.gwdg.de|Jupyter-Hub]] hat, finden sich in den Erläuterungen zum [[de:services:application_services:jupyter:beta|offenen Testbetrieb]]. | Welche Bedeutung der [[de:services:application_services:jupyter:beta|offene Testbetrieb]] für die praktische Verwendung von [[https://jupyter.gwdg.de|Jupyter-Hub]] hat, finden sich in den Erläuterungen zum [[de:services:application_services:jupyter:beta|offenen Testbetrieb]]. |