LoginSignup
12
8

More than 5 years have passed since last update.

JupyterのDockerイメージでさくっとPython2+3環境を準備

Last updated at Posted at 2018-02-27

やったこと

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を用意します。

image.png

そして Ctrl+Enter !
※途中の進捗が出ないので少し不安感あります。
※作成するnotebookはPython3でもなんでもいいです

そして、コンテナをrestartすれば

image.png

OK!

補足

Jupyterのnotebookでは、

%%bash
ls

と書いて、bashを実行したり、

!ls

と書いて、shを実行したりできます。
今回は(おしゃれ感もあったのでw)あえてこの方法でパッケージをインストールしてみました。

まあでも↑によって、LinuxコマンドなどのドキュメントもJupyterで書けるということなんで
本当に使い道が広いなと感じます。

12
8
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
12
8