LoginSignup
19
20

More than 5 years have passed since last update.

Ubuntu 16.04.2 + Jupyter Notebook (+ bash_kernel + nbextensions)

Last updated at Posted at 2017-07-16

Ubuntu 16.04.2 (Server install image)にJupyter Notebookをインストールします。また、Jupyter Notebookにbash_kernelとnbextensionsをインストールし機能追加します。まずは、環境構築のためVirtualBoxにUbuntuをインストールしていきます。

VirtualBoxにUbuntuをインストール

ubuntu-16.04.2-server-amd64.isoをダウンロードし、VirtualBox上にインストールします。
※あとでリモートからWebアクセスできるよう、「設定」→「ネットワーク」→「アダプター1」で、割当を「ブリッジアダプター」とします。

インストールは画面の指示に従うだけですが、「HTTPプロキシ」と「ソフトウェアの選択」について、今回は以下の通り設定しています。

 HTTPプロキシ:なし (プロキシ環境下ではないので)
 ソフトウェアの選択:「standard system utilities」、「OpenSSH server」をチェック

プロキシ環境下でインストール作業を行っている場合は、この段階でHTTPプロキシ設定しておくのがおすすめです。

ゲストOSの設定

ここからはゲストOSの設定です。ユーザ名の箇所は${user_name}としています。構築環境に合わせ読み替えてください。

ネットワーク設定

IPアドレスをDHCPから固定に変更します。IPアドレスが変わっても問題なければDHCPのままで構いません。変更方法は以下のサイトを参考にしました。

[Ubuntu]ローカルIPアドレスを固定にする

まず、「/etc/network/interfaces」を開きます。

bash
$ sudo vim /etc/network/interfaces

ファイル内の「iface enp0s3 inet dhcp」をコメントアウトし、代わりに以下を追加します。

vim
iface enp0s3 inet static
address 192.168.xxx.xxx
netmask 255.255.255.0
gateway 192.168.xxx.xxx
dns-nameservers 192.168.xxx.xxx

最後にゲストOSを再起動します。

bash
$ sudo reboot

パッケージの更新

各パッケージを最新状態にアップデートします。

bash
$ sudo apt update
$ sudo apt upgrade

Jupyter Notebookインストール

ここからが本番です。Jupyter NotebookをインストールするためにAnacondaを使います。
Anacondaはpythonと、よく利用されるpythonパッケージを包含したパッケージです。
Jupyter NotebookもAnacondaの中に含まれています。具体的なインストール方法は以下に記載されています。

Installing Jupyter Notebook

以下はAnaconda3-4.4.0を用いたインストール方法です。ホームディレクトリにAnacondaをインストールしていきます。

bash
$ cd ~/
$ wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh
$ bash Anaconda3-4.4.0-Linux-x86_64.sh 

メッセージにしたがってインストールすると、.bashrcにJupyter NotebookのPATHが追加されます。
PATHが追加されなかった場合は、.bashrcか.bash_profileに手作業でPATHを追加してください。

bash
$ export PATH=$PATH:/home/${user_name}/anaconda3/bin

設定の反映もお忘れなく。

bash
$ source .bash_profile (or source .bashrc)

このあと、jupyter-notebookと打つとJupyter Notebookが起動します([Ctrl] + cで終了)。

bash
$ jupyter-notebook &

Jupyter Notebookへのリモートアクセス設定

ここまでで、Jupyter Notebookのインストールが完了しました。ただし、現時点ではローカル環境でしかJupyter Notebookを利用できません。今度はリモートからWebアクセスできるよう設定変更します。設定方法は以下を参考にしました。

ipython notebook(jupyter)をリモートから使う

まずはjupyter_notebook_config.pyファイルを作成します。

bash
$ jupyter-notebook --generate-config
Writing default config to: /home/${user_name}/.jupyter/jupyter_notebook_config.py

次にパスワードのハッシュ値を生成します。

bash
$ ipython3

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:d1414e6ac5ff:369c16e757d9b49f15d3fad7d6399934ebad4a53'

最後に、jupyter_notebook_config.pyファイルを編集します。

bash
$ vim ~/.jupyter/jupyter_notebook_config.py

ファイルの最下部に以下を追加してください。

vim
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = u'sha1:d1414e6ac5ff:369c16e757d9b49f15d3fad7d6399934ebad4a53'

最終行の「u'sha:xxxx...'」は先程求めたハッシュ値が入ります。

これで、リモートからアクセスできる状態になりました。改めてjupyter-notebookを起動してみてください。

bash
$ jupyter-notebook &
[1] 1388
$ [W 05:52:52.450 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 05:52:52.458 NotebookApp] Serving notebooks from local directory: /home/${user_name}
[I 05:52:52.458 NotebookApp] 0 active kernels 
[I 05:52:52.458 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/
[I 05:52:52.459 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

「http://[all ip addresses on your system]:8888/」からアクセスできるようになっています。

bash_kernelインストール

bash_kernelを使うと、bashコマンド実行用のnotebookを作成できるようになります。notebook上でbashコマンドを使う方法は他にもありますが、bashコマンドだけを使いたい場合はこちらを使うと便利です。インストール方法は以下を参照しました。

一度Jupyter Notebookプロセスを終了し、以下手順でインストールします。

bash
$ pip install bash_kernel
$ python -m bash_kernel.install
$ jupyter-notebook &

nbextensionsのインストール

nbextensionsをインストールすると、Jupyter Notebookにいろいろな機能を追加できるようになります。私はToC(Table of Contents)機能を使いたいのでnbextensionsをインストールしています。今回はAnacondaのJupyter Notebookを利用しているので、以下を参照してインストールしました。

AnacondaのJupyter notebookでnbextensionsを使う

bash
$ conda install -y -c conda-forge jupyter_contrib_nbextensions

以上でインストール作業は終了です。bash_kernelとToCを用いたnotebookは以下のようになります。

Screenshot from 2017-07-17 07-33-39.png

19
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
20