IPython notebookをリモート接続する

More than 3 years have passed since last update.

raspberry pi 上でIPythonを起動しておき、外部から接続して利用したい。

この機能を実現するための作業ログ。

ちなみに利用環境は次の通り。

$ python --version

Python 2.7.9

sudo apt-get install ipython ipython-notebook

sudo apt-get install python-matplotlib python-scipy
sudo apt-get install python-pandas python-sympy
ipython notebook

これでIPython自体のインストールが完了。

次に、外部から接続できる環境を構築する。

sudo pip install jupyter

JupyterのインストールはこれでOK。

外部接続環境用の設定ファイルを作成する。

はじめに、ipythonを起動してJupyterログイン時のパスワードを設定する。

$ ipython

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password: <パスワードを入力>
Verify password: <パスワードを再入力>
Out[2]: 'sha1:<ハッシュ化されたパスワード>'

ハッシュ化されたパスワードをコピーしておく。

次に、設定ファイルを作成する。

$ mkdir ~/.jupyter

$ vim ~/.jupyter/jupyter_notebook_config.py


~/.jupyter/jupyter_notebook_config.py

c = get_config()

# matplotlibで描画したものがnotebook上で表示できるようにする
c.IPKernelApp.pylab = 'inline'
# 全てのIPから接続を許可
c.NotebookApp.ip = '*'
# IPython notebookのログインパスワード
c.NotebookApp.password = 'sha1:<ハッシュ化されたパスワード>'
# 起動時にブラウザを起動させるかの設定(デフォルトは起動させる)
c.NotebookApp.open_browser = False
# ポート指定(デフォルトは8888)
c.NotebookApp.port = <接続ポート>


設定終了。

動作を確認する。

jupyter notebook

外部マシンのブラウザから http://<ipアドレス>:<接続ポート> に接続する。

パスワードを尋ねられるので、上で設定したパスワードを入力してログインする。