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
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? –
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