web-dev-qa-db-ja.com

IPython(Jupyter)Notebookでリモートマシンにカーネルを追加するにはどうすればよいですか?

ローカルマシン(PC)のUIの右上にあるドロップダウンメニュー:

Kernel-> 
    Change kernel->
        Python 2 (on a local PC)
        Python 3 (on a local PC)
        My new kernel (on a remote PC)
21
korniichuk

IPython use kernelは~/.ipython/kernel/<name>のファイルで、カーネルの起動方法を記述しています。独自のカーネル(リモートなど)を作成する場合は、プログラムでリモートカーネルを実行し、ノートブックが想定されているポートにローカルにバインドする必要があります。

5
Matt

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
24
tdaff

リモートjupyterカーネル/カーネル管理ユーティリティ(rk): https://github.com/korniichuk/rk

  1. GitHubからrkをインストール

    $ Sudo pip install git + git://github.com/korniichuk/rk#Egg=rk

  2. パスワードなしで自動ログインできるようにSSHを設定

    $ rk ssh

  3. リモートjupyterカーネルのテンプレートをインストール

    $ rk install-template

  4. kernel.jsonファイルを変更します。

    $ Sudo gedit /usr/local/share/jupyter/kernels/template/kernel.json

たとえば、remote_username@remote_Hostから[email protected]までです。

クリック: クイックスタートとYouTubeビデオ(3分未満)

4
korniichuk