# ことのはじまり
解析で使いたいパッケージがpython2.xで書かれていた(やめてくれ)。ローカルのpython3環境をけがしたくない。かといってVMも使いたくない!
そうだDockerとやらを試してみよう。とりあえずぐぐってみよう。
ふむふむDocker pullでimageを簡単に構築できるのか。えっっ、、2018年にjupyter/scipy-notebook(DockerImageのLibrary)のpython2の取り扱いやめるてるの。くそ、、ならforumで誰か解決案出してんだろ、、え、(長いスクロールの果てに)結局無理なんかい!もうこうなったら自分で見つけてやる
読者対象
Dockerでpython2で書かれた.jpnbを扱いたい人(とてもニッチ)。Mac使い。Dockerビギナーなのであまり詳しい説明はできませんが、この記事が役に立てば嬉しい。
All you have to do
以下をterminalで順に実行していただければ良い。
1 マウントしたいdirectoryにcdで移動。(必要なけれがスルー)
2 minicondaをpull (jupyter/scipy-notebookは上記の理由で却下)
$ docker pull continuumio/miniconda
3 docker run: ここでは名前を'mini'、portをlocal:8001 cotainer:8000に設定、/home以下にマウント先を指定
$ docker run -it --name mini -p 8001:8000 -v ${PWD}:/home continuumio/miniconda bash
4 以下を何も考えず実行。(backports.functools_lru_cacheを自分で入れなければいけないところがみそ。)
conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
pip install backports.functools_lru_cache
ipython kernel install --user
5 必要があれば、適宜conda install/pip installで必要なmoduleを入れていく。
6 ローカルのhttp://localhost:8001
にnotebookを展開
jupyter notebook --port 8000 --ip=0.0.0.0 --allow-root
7 Enjoy coding
結論
めんどくさいがこれで最低限、表題のことはできる。他にいい方法があれば教えて欲しい。。