Notebook IPython rozmawia z jądrem przez predefiniowane porty. Aby porozmawiać ze zdalnym jądrem, wystarczy przekazać porty do zdalnego komputera w ramach inicjalizacji jądra, notebook nie dba o to, gdzie kernel jest tak długi, jak długo może z nim rozmawiać.
Można też skonfigurować skrypt otoki, że jest wywoływana w pliku spec jądra (https://ipython.org/ipython-doc/dev/development/kernels.html#kernel-specs) lub użyć modułu, które mogą pomóc w konfiguracji i zarządzania różnego rodzaju jądrach odległych: (pip install remote_ikernel
; https://bitbucket.org/tdaff/remote_ikernel).
Jeśli używasz remote_ikernel i mają ssh dostęp do urządzenia, następujące polecenie utworzy wpis w liście rozwijanej:
remote_ikernel manage --add \
--kernel_cmd="ipython kernel -f {connection_file}" \
--name="Remote Python" --interface=ssh \
--host=my_remote_machine
Czy istnieje podstawowy powód, dla którego jądro musi wiązać się lokalnie, czy też możliwe, że pewnego dnia zobaczymy rdzeń wsparcia dla zdalnych jąder, które łączą się ze zdalnymi portami? –
Obecne jądra są ograniczone do tego, co może zrobić ZMQ. ZMQ może już wykonać usługę host, choć nie jest to zalecane; ze względów bezpieczeństwa prawdopodobnie należy zawijać połączenie w innym protokole, jeśli sieć nie jest zaufana. – Matt