Kernel installieren, anzeigen und starten¶
Kernel installieren¶
Kernel werden z.B. in folgenden Verzeichnissen gesucht:
/srv/jupyter/.local/share/jupyter/kernels
/usr/local/share/jupyter/kernels
/usr/share/jupyter/kernels
/srv/jupyter/.ipython/kernels
Um eure neue Umgebung in einem der Verzeichnisse als Jupyter Kernel verfügbar zu machen, solltet ihr ipykernel installieren:
$ pipenv install ipykernel
Anschließend könnt ihr euren Kernel registrieren, z.B. mit
$ pipenv run python -m ipykernel install --prefix=/srv/jupyter/.ipython/kernels --name python311 --display-name 'Python 3.11 Kernel'
--prefix=/PATH/TO/KERNEL
gibt den Pfad an, in dem der Jupyter-Kernel installiert werden soll.
--user
installiert den Kernel für den aktuellen Nutzer und nicht systemweit.
name NAME
gibt einen Namen für die
kernelspec
an. Dieser wird benötigt, um mehrere IPython-Kernel gleichzeitig verwenden zu können.
Mit ipykernel install
wird eine kernelspec
-Datei im JSON-Format für die
aktuelle Python-Umgebung erstellt, z.B.:
{
"display_name": "My Kernel",
"language": "python"
"argv": [
"/srv/jupyter/.ipython/kernels/python311_kernel-7y9G693U/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
}
display_name
Der Name des Kernels, wie er im Browser angezeigt werden soll. Im Gegensatz zum in der API verwendeten Kernelnamen kann dieser beliebige Unicode-Zeichen enthalten.
language
Der Name der Sprache des Kernels. Wenn beim Laden von Notebooks kein passender
kernelspec
-Schlüssel gefunden wird, wird ein Kernel mit einer passenden Sprache verwendet. Auf diese Weise kann ein für ein Python- oder Julia-Kernel geschriebenes Notebook mit dem Python- oder Julia-Kernel des Benutzers verknüpft werden, auch wenn dieser nicht demselben Namen wie der des Autors hat.argv
Eine Liste von Befehlszeilenargumenten, die zum Starten des Kernels verwendet werden.
connection_file
verweist auf eine Datei, die die IP-Adresse, die Ports und den Authentifizierungsschlüssel enthält, die für die Verbindung benötigt werden. Üblicherweise wird diese JSON-Datei an einem sicheren Ort des aktuellen Profils gespeichert:{ "shell_port": 61656, "iopub_port": 61657, "stdin_port": 61658, "control_port": 61659, "hb_port": 61660, "ip": "127.0.0.1", "key": "a0436f6c-1916-498b-8eb9-e81ab9368e84" "transport": "tcp", "signature_scheme": "hmac-sha256", "kernel_name": "" }
interrupt_mode
Kann entweder
signal
odermessage
sein und gibt an, wie ein Client die Ausführung einer Zelle auf diesem Kernel unterbrechen soll.signal
sendet ein Interrupt, z.B.
SIGINT
auf POSIX-Systemenmessage
sendet einen
interrupt_request
, s.a. Kernel Interrupt.
env
dict
mit Umgebungsvariablen, die für den Kernel festgelegt werden sollen. Diese werden zu den aktuellen Umgebungsvariablen hinzugefügt, bevor der Kernel gestartet wird.metadata
dict
mit zusätzlichen Attributen zu diesem Kernel. Wird von Clients zur Unterstützung der Kernelauswahl verwendet. Hier hinzugefügte Metadaten sollten einen Namensraum für das Tool zum Lesen und Schreiben dieser Metadaten haben.
Verfügbare Kernel anzeigen¶
$ pipenv run jupyter kernelspec list
Available kernels:
mykernel /Users/veit/Library/Jupyter/kernels/mykernel
python2 /Users/veit/Library/Jupyter/kernels/python2
python3 /Users/veit/.local/share/virtualenvs/jupyter-tutorial--q5BvmfG/bin/../share/jupyter/kernels/python3
Kernel starten¶
$ pipenv run jupyter console --kernel mykernel
Jupyter console 6.0.0
Python 2.7.15 (default, Oct 22 2018, 19:33:46)
...
In [1]:
Mit ctrl-d könnt ihr den Kernel wieder beenden.
Kernel löschen¶
$ pipenv run jupyter kernelspec uninstall mykernel
Starndard-Kernel deinstallieren¶
Sofern noch nicht geschehen, kann eine Konfigurationsdatei erstellt werden, z.B. mit
$ pipenv run jupyter lab --generate-config
Anschließend könnt ihr in dieser Konfigurationsdatei folgende Zeile einfügen:
c.KernelSpecManager.ensure_native_kernel = False