【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を記載。
4. Jupyter notebook / Lab の起動
nohup jupyter notebook & # or nohup jupyter-lab &
nohup
をつけることでシェルが閉じられてもJupyterは実行され続けます。
5. Jupyter にアクセス
http://<サーバーのIPアドレス>/9999
にアクセスすると、最初に設定したパスワードを入力する画面になります。
パスワードを入力すると、Jupyter notebook / Lab にアクセスできているはずです!
まとめ
これでいつでもどこでもJupyter notebookで開発をすることができ、気分転換にカフェで開発なんてこともできるので、働き方の幅が広がること間違い無し!?