Anaconda3でJupyter Notebookを立てたときに、Python2.7も選択できるようにする
何番煎じだよ
って話なんだろうけど、その先人の煎じたヤツがその通りでは動かなかったので。
結局公式サイト記載のやり方が、一番近かった
Installing the IPython kernel — IPython 6.2.0.dev documentation
近いけど、そのままじゃ動かねえし。
一通りJupyter Notebookを立てた後は、Python3.6系しか使えない状態になっています。
その後にやる作業はこれ、って書いてあることが多い。
conda create -n py27 python=2.7 ipykernel source activate py27 # または source なしのactivate py27
公式サイトでも同じなのですが、この「activate」コマンドが通らない。。。
かいつまんでしまうと、ここを「pyenv local python2の環境名」で逃げれば行けました。
もう少し丁寧に。
先のエントリの通りに環境が立ち上がったところからスタートです。
atsuizo.hatenadiary.jp
なお、anacondaのバージョンが
前回の
anaconda3-5.0.1
から
anaconda-3-5.1.0
に上がっているのであしからず。
conda create -n py27 python=2.7
で、Python2.7.14をダウンロードしてpy27という名前の仮想環境?を作る
バージョンを細かく指定しないと最新のものがインストールされるようです。
pyenv versions
で、認識されているpythonのバージョンリストを確認すると、
先程のコマンドによって
anaconda-3-5.1.0/envs/py27
ができているのが分かります。
このパス情報を使って、activateコマンドの代わりに
pyenv local anaconda-3-5.1.0/envs/py27
を実行してアクティブにします。
pythonのバージョンを
python --version
で確認してpython2.7系がアクティブであることを確認したら、
python -m ipykernel install --user
で、ipythonのカーネルをインストールします。
すると、userのホームの下に隠しディレクトリ「.local」が作成されて、その下の方に、python2のカーネルが登録されます。
ipykernelというモジュールを探して、userディレクトリにインストールする、という意味のようです。
続けて、jupyterが認識したカーネルのリストから確認します。
jupyter kernelspec list
python2だけが認識されています。
Available kernels: python2 /root/.local/share/jupyter/kernels/python2
アクティブを
pyenv local anaconda-3-5.1.0
で元のバージョンに戻してから、
jupyter kernelspec list
を実行すると、python3とpython2が登録されていることが確認できます。
Available kernels: python2 /root/.local/share/jupyter/kernels/python2 python3 /root/.pyenv/versions/anaconda3-5.1.0/share/jupyter/kernels/python3
この状態になったら、Jupyter Notebookを起動します。
rootでやっている場合は、--allow-rootオプションもつけます。
jupyter notebook --allow-root
で、Jupyter Notebookを立てたマシンのホスト名orIPアドレス:8888にアクセスしてログインした後、「New」のドロップダウンに「python2」[python3」があることを確認します。
それぞれのバージョンでノートを立ち上げ、
import sys
sys.version
を実行して、想定しているバージョンが返ってくることを確認すれば完了です。
Jupyter Notebookに絞って勉強しなきゃいけないのかなあ
pythonを書くのが本来のお仕事ではない(Python用にAPIが提供されている製品でそっちのほうが性能出るらしいというので試してみたかっただけという)こともあって、相変わらずふんいきでやっているので、行き詰まったときに、Jupyterのレイヤなのかipyhonのレイヤなのかpython(pyenv、anaconda)のレイヤなのかよくわからなくてしばらく嵌りました。
「道具のための道具」の習得に割く時間は最小限に、効率的に済ませたいところです。
- 作者: 池内孝啓,片柳薫子,岩尾エマはるか,@driller
- 出版社/メーカー: 技術評論社
- 発売日: 2017/09/09
- メディア: 大型本
- この商品を含むブログ (1件) を見る