IPython Notebook、インストールに悪戦苦闘した記憶しかなくてなんとなく敬遠してたんですが、 RStudioのようにServerとして立ち上げてブラウザでアクセスできる、と知りました(今更!)。
手元のvagrant(Ubuntu 14.04)にIPython Notebookをインストールしてみたのでメモ。
IPython 3.0
安定板は2.3系なんですが、今開発中の3.0がすごいらしいので、あえてこっちをインストールしてみます。
Vagrantfileにポートフォワーの設定を追加
IPython Notebookはデフォルトでは8888番ポートを使うので、そのポートに外からアクセスできるようにポートフォワードを設定します。ここではhost側も仮に8888にしていますが、任意のポートで大丈夫です。また、IPython Notebook側もプロファイルを変更すれば別のポートを使えます。
config.vm.network "forwarded_port", guest: 8888, host: 8888
依存パッケージをインストール
いちどパッケージ版のIPython
をapt-get install
してそれをapt-get remove
(purge
ではなく)することで依存パッケージだけ残す、という荒業があるようです。なんと。
sudo apt-get install ipython-notebook ipython-qtconsole sudo apt-get remove ipython-notebook ipython-qtconsole ipython
IPythonをインストール
gitとpipを入れておきます。
sudo apt-get install git python-pip
ipython/ipython · GitHubに書いてある手順ではcloneしたレポジトリをそのままpip install
する流れになってますが、なぜか手元では動きませんでした。3.0.0-dev
のタグをチェックアウトすると動いたのでそうしてますが、正しい手順なのかは謎です。。
git clone --recursive git://github.com/ipython/ipython.git cd ipython git checkout 3.0.0-dev git submodule update sudo pip install -e ".[notebook]"
IPython Notebookの設定
外からアクセスできるようにプロファイルを追加します。デフォルトのプロファイルをいじっても構いません。その場合はパスがprofile_default
になります。
ipython profile create nbserver vi $HOME/.ipython/profile_nbserver/ipython_config.py
以下のように、NotebookApp.ip
の設定を追加します。(これ10.0.0.0/8
みたいな指定の仕方ができるといいんですけど、どうもできないっぽい)
# The IP address the notebook server will listen on. # c.NotebookApp.ip = u'' c.NotebookApp.ip = u'*'
IPython Notebookを起動
先ほど作成したプロファイルを指定して起動します。デフォルトだとVM上で立ち上げようとしてしまいますが必要ないので、--no-browser
もつけます。
ipython notebook --profile=nbserver --no-browser
IPython Notebookにアクセス
http://127.0.0.1:8888/を開くとnotebookが見えているはずです。おわり。
注意点
これは純粋にIPython Notebookをインストールしただけなので、numpyとかmatplotlibとかは入ってません。そこはまた依存性地獄を潜り抜ける必要があります。。もうちょっとお手軽にならないものか。