diff --git a/images/code-install-hvplot.png b/images/code-install-hvplot.png new file mode 100644 index 0000000000000000000000000000000000000000..b11ab6ad73ce221fe590b0d202d1ea936520485e Binary files /dev/null and b/images/code-install-hvplot.png differ diff --git a/images/code-interactive.png b/images/code-interactive.png new file mode 100644 index 0000000000000000000000000000000000000000..949e741b3a6724b06b7e490181969ff091a7e69b Binary files /dev/null and b/images/code-interactive.png differ diff --git a/images/code-mpl-widget.png b/images/code-mpl-widget.png new file mode 100644 index 0000000000000000000000000000000000000000..ed285da2df97bb898b8e723ee1fd85bb6c5f064a Binary files /dev/null and b/images/code-mpl-widget.png differ diff --git a/images/code-r.png b/images/code-r.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ed51c630e910564a90219da87498b7cd542162 Binary files /dev/null and b/images/code-r.png differ diff --git a/images/code-terminal.png b/images/code-terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..d120a91e9d2ead3a4292950384ce151afbea2e25 Binary files /dev/null and b/images/code-terminal.png differ diff --git a/images/code-upload.png b/images/code-upload.png new file mode 100644 index 0000000000000000000000000000000000000000..ff52901839c7c62083153cfce2e958a06e568575 Binary files /dev/null and b/images/code-upload.png differ diff --git a/images/jupyter-lab.png b/images/jupyter-lab.png new file mode 100644 index 0000000000000000000000000000000000000000..6cac936bc316f64b5ba4cbb2b6fd7b9f964aca61 Binary files /dev/null and b/images/jupyter-lab.png differ diff --git a/images/login-screen.png b/images/login-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..58785de2297ff3d78f7cccc8f66d2d3806398ec3 Binary files /dev/null and b/images/login-screen.png differ diff --git a/images/menu-file-hub_control_panel.png b/images/menu-file-hub_control_panel.png new file mode 100644 index 0000000000000000000000000000000000000000..04163c9642425eb35d458063e23796ef21074991 Binary files /dev/null and b/images/menu-file-hub_control_panel.png differ diff --git a/images/server-starting.png b/images/server-starting.png new file mode 100644 index 0000000000000000000000000000000000000000..3e9ace1cfaf2c665d32af141224c9986f2099421 Binary files /dev/null and b/images/server-starting.png differ diff --git a/images/stop-my-server.png b/images/stop-my-server.png new file mode 100644 index 0000000000000000000000000000000000000000..7cf8303854d2dfdf69ee5fbb15ba031888fb77f1 Binary files /dev/null and b/images/stop-my-server.png differ diff --git a/jupyterhub.md b/jupyterhub.md new file mode 100644 index 0000000000000000000000000000000000000000..a004b0c8402ef4d59455277e7abb85ed44713fd1 --- /dev/null +++ b/jupyterhub.md @@ -0,0 +1,53 @@ +# JupyterHub + +Der JupyterHub stellt eine Python- und R-Umgebung für Sie bereit, damit Sie direkt loslegen können. + +## Server starten und stoppen + +1. Loggen Sie sich bei https://jupyter.hs-bochum.de mit Ihrer normalen BO-Kennung und Passwort ein.<br> +  + +2. Ggf. erhalten Sie eine Auswahl, ansonsten startet der Server direkt für Sie.<br> +  + +3. Sie werden zum JupyterLab weitergeleitet. Von dort können Sie [VS Code](vs-code) starten um in Python oder R zu entwickeln.<br> +  + +4. Wenn Sie fertig sind, stoppen Sie bitte den Server um Ressourcen für andere freizugeben! Dazu klicken Sie im Menü auf *File* → *Hub Control Panel* oder auf https://jupyter.hs-bochum.de/hub/home<br> +  + +5. Anschließend klicken Sie auf *Stop My Server*! Damit werden evtl. laufende Programme geschlossen und der Zustand des Dateisystems mit der Ausnahme ihrer eigenen Dateien in `/home/jovyan/` wieder zurück gesetzt.<br> +  + +## VS Code für Python + +1. In VS Code (genauer: code-server) können Sie Python-Skripte oder Jupyter-Notebooks über *File* → *New File...* erstellen bzw. per Drag'n'Drop hochladen. Für große Dateien eigenen sich CLI Tools wie `wget` oder `curl` besser. Dateien können mit Rechtsklick → *Download* vom JupyterHub heruntergeladen werden. *Beachten Sie: Dateien in Ihrem Home-Verzeichnis `/home/jovyan/` bleiben bei einem Server-Stop erhalten.<br> +  +2. Zum Entwickeln ist der interaktive Modus komfortabler. Den erreichen Sie neben dem Play-Button mit *Run Current File in Interactive Window* oder einfach, indem Sie Sections `# %%` erstellen und diese z.B. mit `Shift`+`Enter` oder `Ctrl`+`Enter` ausführen.<br> +  +3. Für sehr lang laufende Skripte ist die Konsole besser. Wenn Sie den Browser-Tab schließen, sollte sich die Konsole wieder verbinden und Sie können die Ausgaben des Skriptes sehen oder es mit `Ctrl`+`C` abbrechen.<br> +  + +*Beachten Sie: Wenn Sie vier Tage nicht über den Browser mit VS Code interagiert haben, wird der Server automatisch gestoppt.* + +## Pakete nachinstallieren + +Pakete lassen sich einfach mit `mamba install PAKET` oder `pip install PAKET` nach `/opt/conda` nachinstallieren. Bei einem Server-Stop sind sie allerdings wieder weg. Daher macht es vielleicht Sinn die Installation ins Skript mit einem `!` davor hinzuzufügen. + + + +## Interaktive Plots + +Wenn Sie mit JavaScript-basierten Paketen wie Plotly Express oder Bokeh plotten, sind die Plots im interaktiven Fenster automatisch interaktiv. + +Damit Matplotlib-Plots interaktiv sind, führen Sie vor dem Plotten `%matplotlib widget` einmalig aus. + + + +## VS Code für R + +1. Erstellen Sie eine neue Textdatei und speichern Sie sie mit der Endung `.r`. +2. Erstellen Sie Sections `# %%` mit Code. +3. Führen Sie die Sections mit `Shift`+`Enter` oder `Ctrl`+`Enter` aus. Plots öffnen sich automatisch und Ausgaben werden im Terminal gezeigt. + +