Ноутбук IPython разговаривает с ядрами по предопределенным портам. Чтобы поговорить с удаленным ядром, вам просто нужно перенаправить порты на удаленный компьютер в качестве части инициализации ядра, ноутбуку все равно, где ядро до тех пор, пока оно может поговорить с ним.
Вы можете либо создать сценарий оболочки, который вызывается в файле ядра спецификации (https://ipython.org/ipython-doc/dev/development/kernels.html#kernel-specs) или использовать модуль, который может помочь вам настроить и управлять различными видами удаленных ядер: (pip install remote_ikernel
; https://bitbucket.org/tdaff/remote_ikernel).
Если вы используете remote_ikernel, и есть SSH доступ к машине, следующая команда будет создана запись в раскрывающемся списке:
remote_ikernel manage --add \
--kernel_cmd="ipython kernel -f {connection_file}" \
--name="Remote Python" --interface=ssh \
--host=my_remote_machine
Есть ли фундаментальная причина, по которой ядро должно связываться локально, или возможно, что мы когда-нибудь увидим поддержку ядра для удаленных ядер, которые привязаны к удаленным портам? –
Существующие ядра ограничены тем, что может сделать ZMQ. ZMQ уже может делать remo host, хотя это не рекомендуется; по соображениям безопасности вы, вероятно, должны переносить соединение в другой протокол, если сети не доверяют. – Matt