個別の端末に開発環境を整えるのもありなんだが、サーバ側でjupyter notebookを起動させると、開発ファイルなんかもサーバ側に置けて便利だ。
もっとも、便利な分いつもネットワーク環境が必要となるんだけどね。
じゃリモートからJupyter notebookを使うための設定は次の通り。
まずリモートサーバ側のhome/ユーザディレクトリで、下記のコマンドを実行する。
$ jupyter notebook --generate-config
Writing default config to: /home/hogehoge/.jupyter/jupyter_notebook_config.py
次にパスワードのハッシュ値を計算する。
$ ipython
Python 3.6.5 (default, May 23 2018, 19:51:39)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from IPython.lib import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:パスワードのハッシュ値'
Jupyter notebookの設定ファイルを編集する。
$ cd .jupyter
$ sudo vi jupyter_notebook_config.py
ファイルの最終行に下記を追加。
# 追加部分
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 9999
c.NotebookApp.password = u'sha1:パスワードのハッシュ値'
保存してファイル編集を終了する
じゃ、動作確認をしてみる。
リモートサーバ側で下記のコマンドを打ってみよう。
$ jupyter notebook &
[1] 2309
$ [W 20:35:35.035 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 20:35:35.035 NotebookApp] The port 9999 is already in use, trying another port.
[I 20:35:35.043 NotebookApp] Serving notebooks from local directory: /home/hogehoge
[I 20:35:35.043 NotebookApp] 0 active kernels
[I 20:35:35.043 NotebookApp] The Jupyter Notebook is running at:
[I 20:35:35.043 NotebookApp] http://サーバ名:10000/
[I 20:35:35.043 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
手元の端末のブラウザを立ち上げ、http://サーバのIPアドレス:9999 でアクセスしてみる。
パスワードを入力する認証ページが立ち上がったら、設定は成功だ!
0 件のコメント:
コメントを投稿