2017年3月20日月曜日

Pythonのanacondaを導入してみる

pyenv, spyderをmac osxに導入してみる。
SpyderはpythonのIDEで、anacondaパッケージ内に一緒に入っている。
(というか、anaconda内にpython,numpy等全部入ってしまっている模様。逆に事前に入れてあるpythonやライブラリとは独立した生態系になってしまい、混乱することもあり)


とりあえず、macではpyenvのインストールが必須とのこと


$ brew install pyenv


.bash_profileを修正(赤字部分を追加)


export PYENV_ROOT="${HOME}/.pyenv"
export PATH=/opt/lo/bin:/sbin:$PATH:/usr/local/share/python:${PYENV_ROOT}/bin
eval "$(pyenv init -)"


$ pyenv install -lで、インストール可能なバージョン一覧がでるので、確認。


Python3系を使いたい方


$ pyenv install anaconda3-4.0.0
$ pyenv global anaconda3-4.0.0


Python2系を使いたい方


$ pyenv install anaconda-4.0.0
$ pyenv global anaconda-4.0.0


pyenv globalは全体の環境で、anacondaの使うバージョンを指定しています。特定ディレクトリ以下では別のバージョンが使いたい場合、当該ディレクトリでpyenv local (バージョン)としてやります。


condaというバッケージ管理システムがあり、anaconda内のpythonやライブラリはcondaコマンドで管理します。(brewと共存してしまうのがややこしい。気をつけないと何を動かしているのかわからなくなりそう)
それまでbrewでインストールしたpythonはpipコマンドでライブラリのパッケージ管理をします。
(補足:anacondaの環境にはこれまで使っていたchainerが当然入っていません。anaconda内にもpipコマンドがありますので、こいつでanaconda環境内に再度chainerをインストールしてやれば、とりあえずこれまで通りchainerを動かすことはできますが。。。)


またpythonの仮装環境を作るvirtualenvに対する、pyenv-virtualenvというのもあり、condaのpyenv localとsource activateがバッティングしても、こちらが解決してくれるとのこと。

これまでpython2系ばかり使ってきましたが、そろそろpython3系にも手を出したいと考えていました。しかし、このあちこちに異なるバージョンのpythonが入ってしまう状況、頭が混乱しそうで使い方を整理してから始めないと。。。