目次
こんにちは。sinyです。
この記事では、JupyterNotebookをWEBブラウザ上から利用できる環境構築の手順をご紹介します。
通常、JupterNotebookを利用するには、ローカルPCにAnacondaなどをインストールしないと利用できませんが、JupterNotebookサーバを構築してしまえばインストール不要、WEBブラウザだけあればJupyterNotebookが利用できてしまうので大変便利です。
自社のチームでは、Python環境を構築していないメンバーもいますが、JupyterNotebookをWEBブラウザから利用できるようにすれば、インストール不要で誰でも利用できるので便利です。
これからデータ分析を社内に普及させていこうと目論んでいるので、こういっただれでも手軽に触れる環境を用意してあげるというのも1つの手だと思います。
JupyterNotebookサーバ環境構築の前提
まず、何かしらのサーバ環境(社内、外部クラウド問わない)でJupterNotebookがインストールされている前提とします。
通常は、AnacoondaをインストールすればJupyterNotebookもインストールされるので、AnacondaをインストールしていればOKでしょう。
JupyterNotebookサーバ環境の構築手順
それでは、JupyterNotebookサーバを構築する3つのステップについて説明します。
ステップ①(パスワードの設定)
コマンドプロンプト画面を起動し、コマンド「ipython」を実行します。
続いて、以下のコードを実行してパスワードを設定します。
from notebook.auth import passwd
password()
実行結果に暗号化キー(sha1:****)が表示されるので控えておきましょう。
【実行例】
C:\jupyter>ipython Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: from notebook.auth import passwd In [2]: passwd() Enter password: Verify password: Out[2]: 'sha1:07efefefeffefsfdfddggskfkfjskfjlasjfe' In [3]: exit()
ステップ②(config.pyの設定)
コマンドプロンプト上で以下のコマンドを実行します。
jupyter notebook --generate-config
そうすると、通常であれば「C:\Users\<ユーザ名>\.jupyter\jupyter_notebook_config.pyが生成されます。
生成されたjupyter_notebook_config.pyファイルを開いて以下の設定を行います。
c.NotebookApp.password = 'ステップ1で生成した暗号化キーを入力' c.NotebookApp.ip = 'JupyterNotebookサーバのIPアドレスを指定' c.NotebookApp.open_browser = False # ブラウザが起動しないようにする設定 c.NotebookApp.port = ポート番号 ※JupyterNotebookサーバにアクセスする際のポート番号を指定(今回は8888とします) c.IPKernelApp.pylab = 'inline' ※これはnotebook上でplotを表示できるようにするための設定です。
ステップ③(サーバ上でJupyterNotebookを起動)
通常JupyterNotebookを利用するときと同じように、「jupyter notebook」コマンドを実行します。
その後、クライアントPCのブラウザから「http://サーバ名 or IPアドレス:8888/」にアクセスすると以下の画面が表示されるので、ステップ①で設定したパスワードを入力してログオンします。
以上で、ブラウザからJupyterNotebookが利用できるようになります。
なお、上記で説明した手順だと、マニュアルでJupterNotebookを起動しておかないとブラウザから利用できません。
これでは現実的ではないので、サーバ起動時にJupterNotebookが自動起動する方法を参考にご紹介します。
CentOSやUbuntuなどで設定する方法は良くネットで見かけますが、Windowsサーバ上での参考例の情報があまり見当たらなかったので、以下Windowsサーバでの設定例をご紹介します。
- start_juypter.batというバッチファイルを作成します。
- バッチファイルに以下のコードを記載します。
cd <JupyterNotebookのカレントディレクトリにしたい場所> ( 例: cd c:\jupyter)
jupyter notebook - 作成したバッチを起動するようにWindowsタスクスケジューラにジョブを登録します。
・「トリガー」タブで「スタートアップ時」を選択する。
・「操作」タブで「プログラムの開始」を選択し、実行パスに作成したバッチを指定します。
※設定画面はこんな感じ
登録したタスクジョブを実行すれば、JupterNotebookサービスが起動してブラウザから利用できる状態になり、サーバが再起動しても自動でJupyterNotebookが起動するようになります。
以上、「たったの3ステップでJupyterNotebookをブラウザで利用できる環境を作る」手順のご紹介でした。