Mac OSX SierraでPython環境を整える (Python2系とPython3系の共存 + おまけでOpenCVの導入)
Mac OSX SierraにPython環境を構築したときの記録です。 今回は以下の順に入れていきます。
pyenv : 複数バージョンのpythonを管理するツール。今回はPython2系とPython3系を切り替えるときに使用します。
anaconda : 複数のパッケージがひとまとめになっているPythonのディストリビューション。これを入れるだけで基本的な科学技術計算は問題なくできます。パッケージをいろいろ入れるのがめんどくさいので、今回はanacondaを利用します。
Homebrewをインストール
ターミナルを起動したら、以下のコマンドを打ち込みます。それにより、Homebrewがインストールされます。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
ちなみに、上のコマンドは、Homebrewの公式サイトのインストール欄
[http://brew.sh/index_ja.html:embed:cite]
に書いてあります。
pyenvをインストール
pyenvはPythonのバージョン管理を行なうコマンドラインツールで、複数のバージョンのPythonのインストールや切り替えを容易に行うことができます。ちなみにWindows環境では使えないらしいです。
先程Homebrewをインストールしたので、Homebrewでpyenvをインストールします。ターミナル上で以下のコマンドを打ち込むとpyenvが導入されます。
brew install pyenv
とっても簡単ですね。
その後、環境変数に以下を追加します。 例えばシェルにzshを使っている人は、~/.zshrcに、以下を追加します。bashを利用している人は、~/.bash_profileに追加しましょう。
export PATH="$PYENV_ROOT/bin:$PATH" export PYENV_ROOT="$HOME/.pyenv" eval "$(pyenv init -)"
追加したら、ターミナルを再起動します。その後、ターミナル上で
pyenv -v
と打ち込み、pyenvのバージョンが表示されたら問題なくインストールできています。
anacondaのインストール
anacondaはpyenvを利用すれば簡単にインストールすることができます。ちなみにanacondaの公式サイト
Download Anaconda Now! | Continuum
からでもインストールすることができますが、今回はpyenv経由でインストールします。
pyenv install -l
とすれば、pyenv経由でインストールできるPythonのバージョン一覧が表示されます。 anacondaに限定して表示させたい場合は、
pyenv install -l | grep anaconda
とすればOKです。
python3系のインストール
pyenv install anaconda3-x.x.x
python2系のインストール
pyenv install anaconda2-x.x.x
とすれば好きなPythonが導入できます。
インストールしたバージョンの確認
pyenvでインストールしたPythonのバージョンを確認したい場合は、
pyenv versions
と打ち込めば、インストールしたバージョンの一覧が下のように表示されます。
* system (set by /Users/yourname/.pyenv/version) anaconda2-4.2.0 anaconda3-4.2.0
* は現在設定されているPythonのバージョンを指定しています。systemはOSに標準で入っているPythonです。 なので、単純にpyenv install ~ としただけでは所望のPythonをインストールすることができますが、使用することはできません。 Pythonのバージョンを変更するために使用するものが、pyenv global と pyenv localです。
pyenv global と pyenv local
pyenv global hogehogeまたは、pyenv local hugahugaでバージョンの切り替えができます。 globalとすると全体に、localにするとそのカレントディレクトリ以下にバージョンの切り替えが反映されます。 Pythonのバージョンを切り替えることがない場合は、globalで指定してしまうのが良いと思います。
自分の場合は、Python2とPython3を使い分けたいため、 /Python/Python3と/Python/Python2のディレクトリをそれぞれ作成し、それぞれのディレクトリについて、
/Python/Python3
pyenv local anacanda3-4.2.0
/Python/Python2
pyenv local anacanda2-4.2.0
と設定しています。 そうすることで、対象のディレクトリに移動すればそこのPythonのバージョンが自動で設定されるようにしています。 この部分はこの方法がベストなのかどうかは正直わかりません。他にいい方法を知っている方がいましたら教えてください。
(おまけ) OpenCVのインストール
anacondaでデフォルトで入っているパッケージ以外にもパッケージを追加したい要望は当然あります。 今回は画像処理・コンピュータビジョン関連のライブラリであるOpenCVを入れてみたいと思います。
Python3ではOpenCV 3.x系しかサポートしていません。なので、OpenCV2.xをどうしても使いたい場合は、Python2を必然的に使用するしかありません。 そこで、Python3にはOpenCV3、Python2にはOpenCV2をインストールすることにします。 Python3, Python2それぞれが設定されているディレクトリに移動して、以下のコマンドを打ち込みます。
Python3 + OpenCV3
conda install -c https://conda.anaconda.org/menpo opencv3
Python2 + OpenCV2 (今回は2.4.11を入れます)
conda install -c menpo opencv=2.4.11
きちんとインストールされているかどうか確かめるためには、Pythonを起動して、以下のコードを実行しましょう。
import cv2 cv2.__version__
エラーが出ずに、インストールしたOpenCVのバージョンが表示されたら成功です。