リモートサーバでJupyter Notebookを使う
私は .py ファイルを動かす派ですが,実行結果の見やすさや操作性の高さから Jupyter Notebook 派が増えているようです.使うことができれば便利かもしれないのでインストールしておこうと思います.
Jupyter Notebook インストール
terminal
$ pip install jupyter
ipython でパスワード生成
terminal
$ ipython
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password: <enter password>
Verify password: <re-enter password>
Out[2]: 'sha1: <hashed password>'
# 出力されたパスワード sha1: <hashed password>をコピー
In [3]: exit()
設定ファイルの作成
まず,設定ファイルを保存するディレクトリを作っておきます.
terminal
$ mkdir ~/.jupyter
設定ファイルは手元のパソコンで作成して SCP で送信するか,サーバ上のテキストエディタで作成します.
ファイル名は jupyter_notebook_config.py です.
jupyter_notebook_config.py
c = get_config()
# Notebook上でplotを表示できるようにする
c.IPKernelApp.pylab = 'inline'
# 全てのIPから接続を許可
c.NotebookApp.ip = '*'
# IPython notebookのログインパスワード
c.NotebookApp.password = 'sha1: <ハッシュ化されたパスワード>'
# 起動時にブラウザを起動させるかの設定
c.NotebookApp.open_browser = False
# ポート指定
c.NotebookApp.port = <port>
SCP で送信する場合は SSH 接続していないターミナルで実行します.ローカルディレクトリには設定ファイルを保存しているディレクトリの PC 上のパスを入れます.
terminal
$ scp <local directory> <username>@<IP address or domain>:~/.jupyter
Jupyter Notebook の利用
terminal
$ jupyter notebook
[I 17:32:27.004 NotebookApp] The Jupyter Notebook is running at:
[I 17:32:27.004 NotebookApp] http://<pc name or domain>:<port>/
DNS でサーバにドメインを振っていれば,表示されるアドレスで接続できます.振っていない場合は IP アドレスを使って接続することができます.
ブラウザでドメインもしくは IP アドレスとポート番号を入力すると,ログイン画面になります.ここで,ipython で入力したパスワードを入れると Jupyter Notebook が使えるようになります.