2015-03-13 7 views

Antwort

4

IPython Verwendung Kernel ist eine Datei, in ~/.ipython/kernel/<name> die beschreiben, wie ein Kernel zu starten. Wenn Sie einen eigenen Kernel (remote oder was auch immer) erstellen, liegt es an Ihnen, dass das Programm den Remote-Kernel ausführt und lokal an den Port bindet, den das Notebook erwartet.

+0

Gibt es einen fundamentalen Grund, warum der Kernel lokal gebunden sein muss, oder ist es möglich, dass wir irgendwann Kernunterstützung für Remote-Kernel sehen, die an Remote-Ports binden? –

+0

Die aktuellen Kernel sind auf das beschränkt, was ZMQ tun kann. ZMQ kann bereits remo hosten, obwohl es nicht empfohlen wird; Aus Sicherheitsgründen sollten Sie die Verbindung wahrscheinlich in ein anderes Protokoll einbinden, wenn das Netzwerk nicht vertrauenswürdig ist. – Matt

17

Das IPython-Notebook kommuniziert über vordefinierte Ports mit den Kerneln. Um mit einem Remote-Kernel zu kommunizieren, müssen Sie die Ports nur als Teil der Kernel-Initialisierung an den Remote-Rechner weiterleiten. Dem Notebook ist es egal, wo der Kernel ist, solange er mit ihm kommunizieren kann.

Sie könnten entweder gesetzt einen Wrapper-Skript auf, die im Kernel-Spez-Datei (https://ipython.org/ipython-doc/dev/development/kernels.html#kernel-specs) oder ein Modul verwenden, die Sie einrichten und verwalten verschiedene Arten von Remote-Kernel helfen können, aufgerufen werden: (pip install remote_ikernel; https://bitbucket.org/tdaff/remote_ikernel).

remote_ikernel manage --add \ 
    --kernel_cmd="ipython kernel -f {connection_file}" \ 
    --name="Remote Python" --interface=ssh \ 
    --host=my_remote_machine 
+0

was ist 'connection_file' soll hier sein? Die Datei kernel-XXXX.json, die auf dem Remote-Computer mit den relevanten Portinformationen generiert wird? Und was soll 'my_remote_machine' sein? – user5359531

+0

@ user5359531 Sie müssen nicht 'connection_file' ändern, das ist Teil des Befehls, der den Kernel startet. Ersetzen Sie 'my_remote_machine' durch den Hostnamen des Computers, auf den Sie ssh klicken. – tdaff

+0

Sehr schönes Werkzeug! Vielen Dank! – marscher

3

Fern jupyter kernel/Kernel Verwaltungsprogramm (das rk):

Wenn Sie remote_ikernel verwenden und SSH-Zugriff auf das Gerät haben, der folgende Befehl den Eintrag in der Dropdown-Liste einrichten : https://github.com/korniichuk/rk

  1. Install the rk from GitHub:

    sudo $ pip installieren git + git: // gi thub.com/korniichuk/rk#egg=rk

  2. Setup SSH for auto login without a password:

    $ rk ssh

  3. Install a template of a remote jupyter kernel:

    $ rk install-Vorlage

  4. Ändern Sie die Datei kernel.json :

    $ sudo gedit/usr/local/teilen/jupyter/kernels /template/kernel.json

Zum Beispiel [email protected]_host-[email protected].

Klicken Sie auf: Quickstart and YouTube video (less than 3 min).

+0

Es funktioniert nicht für mich :( – theotheo