2015-03-13 14 views

risposta

4

IPython utilizzo del kernel è un file in ~/.ipython/kernel/<name> che descrivono il modo per lanciare un kernel. Se crei il tuo kernel (remoto, o qualsiasi altra cosa) spetta a te far sì che il programma esegua il kernel remoto e si leghi localmente alla porta prevista per il notebook.

+0

C'è una ragione fondamentale che il kernel deve legare localmente, o è possibile che un giorno potremmo vedere il supporto di base per i kernel remoti che si collegano alle porte remote? –

+0

I kernel attuali sono limitati a ciò che ZMQ può fare. ZMQ può già fare l'host di remo, sebbene non sia consigliato; per motivi di sicurezza è consigliabile includere la connessione in un altro protocollo se la rete non è affidabile. – Matt

17

Il notebook IPython comunica con i kernel su porte predefinite. Per parlare con un kernel remoto, è sufficiente inoltrare le porte alla macchina remota come parte dell'inizializzazione del kernel, al notebook non importa dove sia il kernel finché può parlarne.

Si potrebbe o installare uno script wrapper che viene chiamato nel file kernel spec (https://ipython.org/ipython-doc/dev/development/kernels.html#kernel-specs) o utilizzare un modulo che può aiutare a impostare e gestire diversi tipi di kernel remoti: (pip install remote_ikernel; https://bitbucket.org/tdaff/remote_ikernel).

Se si utilizza remote_ikernel, e hanno accesso ssh alla macchina, il seguente comando allestirà la voce nel menu a tendina:

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

cosa si suppone che 'connection_file' sia qui? Il file kernel-XXXX.json che viene generato sulla macchina remota con le informazioni sulla porta rilevanti? E cosa si suppone che sia "my_remote_machine"? – user5359531

+0

@ user5359531 non è necessario modificare 'connection_file', che è parte del comando che avvia il kernel. Sostituisci 'my_remote_machine' con il nome host della macchina su cui stai ssh. – tdaff

+0

Strumento molto bello! Grazie! – marscher

3

remoto kernel jupyter/kernel utilità di amministrazione (RK) : https://github.com/korniichuk/rk

  1. Install the rk from GitHub:

    $ sudo pip install 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-modello

  4. Modificare il file kernel.json :

    $ sudo gedit/usr/local/share/jupyter/kernel /template/kernel.json

Per esempio [email protected]_host-[email protected].

Clic: Quickstart and YouTube video (less than 3 min).

+0

Non funziona per me :( – theotheo