やったこと
Jupyterは公式にDockerイメージを提供しており、
環境をDockerコンテナにより一瞬で用意できます。
今回は、そのJupyterコンテナにpython2.7カーネルを追加しました。
Jupyter
言わずもがなですが。。。
Jupyterとは、一言でいえばドキュメント共有アプリケーションです。
-
- 実行可能なソースコードを統合でき、インタラクティブに実行結果を確認できる
- ソースコードの実行結果などをビジュアライゼーションできる
という特長があり、一種のプログラミング実行環境と呼べる便利なツールです。
Jupyterのカーネル
もともと、Jupyterはpythonのインタラクティブ実行環境(IPython)が出自です。
現在は様々な言語に対応しており、カーネルを追加することで
Jupyterが対応する様々な言語のnotebookを作成可能になります。
jupyter/datascience-notebook イメージ
JupyterはDockerhubで*-notebookというイメージを公開しており
それぞれ用途ごとにインストールされているパッケージが違います。
ただ、今回使いたかったPython2.7(いまさら。。)がインストールされているイメージはなかったので
自前で対応しました。
まずは、docker-composeでさくっとJupyter環境を構築します。
version: '2.2'
services:
jupyter:
image: jupyter/datascience-notebook
ports:
- 8888:8888
volumes:
- ./:/home/jovyan/work
command: start-notebook.sh --NotebookApp.token=''
–NotebookApp.token=” とすると、Webアクセス時にパスワードもトークンも入力せずに使えます。
(非推奨なのでローカルで使うときに限った方がよいです)
Jupyterが立ち上がったら、
http://localhost:8888
にアクセスします。
そして右上の[New ▼]から、新しくnotebookを作成したら
%%bash
conda create -y -n py27 python=2.7
activate py27
conda install -y notebook ipykernel && ipython kernel install --user
こんな感じののnotebookを用意します。
そして Ctrl+Enter !
※途中の進捗が出ないので少し不安感あります。
※作成するnotebookはPython3でもなんでもいいです
そして、コンテナをrestartすれば
OK!
補足
Jupyterのnotebookでは、
%%bash
ls
と書いて、bashを実行したり、
!ls
と書いて、shを実行したりできます。
今回は(おしゃれ感もあったのでw)あえてこの方法でパッケージをインストールしてみました。
まあでも↑によって、LinuxコマンドなどのドキュメントもJupyterで書けるということなんで
本当に使い道が広いなと感じます。