Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:services:application_services:jupyter:start [2019/08/02 11:10]
bwegman1 [Installation zusätzlicher Python Module]
de:services:application_services:jupyter:start [2019/10/08 14:34] (aktuell)
bwegman1
Zeile 9: Zeile 9:
 Jupyter-Hub ist das Portal, an dem sich der Benutzer anmeldet, seine laufenden Notebooks verwaltet oder neue startet. Jupyter-Hub ist das Portal, an dem sich der Benutzer anmeldet, seine laufenden Notebooks verwaltet oder neue startet.
  
-Bitte beachten Sie, dass Jupyter auch auf dem [[https://​info.gwdg.de/​docs/​doku.php?​id=en:​services:​application_services:​high_performance_computing:​jupyter|SCC]] betrieben werden kann, falls höhere Berechnungsressourcen benötigt werden.+Bitte beachten Sie, dass Jupyter auch auf dem [[https://​info.gwdg.de/​docs/​doku.php?​id=en:​services:​application_services:​jupyter:hpc|SCC]] betrieben werden kann, falls höhere Berechnungsressourcen benötigt werden.
 ===== Wie wird Jupyter / Jupyter-Hub verwendet? ===== ===== Wie wird Jupyter / Jupyter-Hub verwendet? =====
  
Zeile 51: Zeile 51:
  
 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.
 +
 +=== 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>​
 +Dadurch werden alle zusätzlich durch ''​pip''​ installierten Pakete deaktiviert. Das Notebook sollte sich dann wieder starten lassen.
 +==== 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 159:
  
 <​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 131: Zeile 212:
 (Server neustarten) (Server neustarten)
 </​code>​ </​code>​
 +