0.5から始める機械学習

Machine Learning, Deep Learning, Computer Vision に関する備忘録

【Python】 Jupyter notebook / Lab をリモート接続で利用する

Pythonでの開発においてとても便利なJupyter notebookですが、少し設定をいじるだけでリモート接続が可能となり、より便利な開発環境になります。

設定方法

1. notebook_config.pyの作成

jupyter notebook --generate-config

~/.jupyter/jupyter_notebook_config.pyが生成される。

2. パスワードの設定

ipythonを立ち上げて以下を実行

In [1]: from IPython.lib import passwd
In [2]: passwd()

passを入力するとsha鍵(sha1:XXXXXXXXX)が生成されるのでコピーしておく。

3. notebook_config.pyの編集

# 追記
c = get_config()

# 該当箇所のコメントを解除して、修正
c.NotebookApp.ip = '0.0.0.0'  # アクセス許可IP
c.NotebookApp.open_browser = False  # jupyter notebook 起動時にブラウザを開かない
c.NotebookApp.port = 9999  # アクセスポート(任意)
c.NotebookApp.password = u'sha1:XXXXXXXXX'  # 先ほど生成されたsha鍵を記述

他のネット情報ではc.NotebookApp.ip = '*' としている記事が多いですが、エラーで上手くいかなかったので'0.0.0.0'にすること。特定のIPだけを許可する場合は、そのIPを記載。

with jupyter_notebook_config.py cann't start the jupyter · Issue #718 · jupyter/docker-stacks · GitHub

4. Jupyter notebook / Lab の起動

nohup jupyter notebook &
# or
nohup jupyter-lab &

nohupをつけることでシェルが閉じられてもJupyterは実行され続けます。

5. Jupyter にアクセス

http://<サーバーのIPアドレス>/9999 にアクセスすると、最初に設定したパスワードを入力する画面になります。

パスワードを入力すると、Jupyter notebook / Lab にアクセスできているはずです!

まとめ

これでいつでもどこでもJupyter notebookで開発をすることができ、気分転換にカフェで開発なんてこともできるので、働き方の幅が広がること間違い無し!?