インストールしたマシンの環境
- OS: Mac OS X 10.10.4
- CPU: 2.6GHz Intel Core i7
- メモリ: 16 GB 1600 MHz DDR3
- brewインストール済み。
やることリスト
- pyenvをインストールする
- pyenv経由でanacondaをインストールする
- pip経由でtheanoをインストールする
1. pyenvをインストールする
デフォルトのpythonだと何かと問題が起きるので、適したバージョンを入れるためにpyenvをいれます。
pyenvとは?
- pythonのバージョン管理システム。
- rubyでいうところのrbenv。
- バージョンのみならず、便利なパッケージも一緒くたになった版もインストールできる(今回はこれを使う)
手順
手順リスト
1-1. brewを入れる
1-2. pyenv-rehashを入れる
1-3. .bash_profile or .zshrcの編集
1-1. brewを入れる
see : http://brew.sh/
1-2. pyenv-rehashを入れる
pyenv-rehashというパッケージを入れると付随して、pyenvもインストールされる。
$ brew install pyenv-rehash
1-3. .bash_profile or .zshrcの編集
以下を追加。pyenvの場所を知らせる。
export PYENV_ROOT=/usr/local/opt/pyenv
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi
2. pyenv経由でanacondaをインストールする
科学計算用のパッケージも同時によしなにインストールしてくれるanacondaを使います。
anacondaとは?
- python + pythonで提供されている科学計算用のライブラリ群が一緒になったものの名称
手順
手順リスト
2-1. anacondaをインストール
2-2. anacondaで入れたpythonが使われるようにする
2-1. anacondaをインストール
$ pyenv install anaconda-2.1.0
2-2. anacondaで入れたpythonが使われるようにする
$ pyenv global anaconda-2.1.0 # anacondaに入っているpythonをシステムのデフォルトのpythonに指定する
$ pyenv local anaconda-2.1.0 # そのフォルダでのみ、anacondaに入っているpythonが指定されるようにする
$ pyenv rehash
とやったあとに、以下を打って、/usr/local/opt/pyenv/shims/python
が指定されていれば完了。
もしされていなかったら、ターミナルを再起動してみる。
$ which python
3. pip経由でtheanoをインストールする
最後にお目当てのtheanoをインストールします。
一点、はまりポイントがあるので注意。
手順
手順リスト
3-1. theanoをインストール
3-2. pyparsingをダウングレードする
3-1. theanoをインストール
本来なら、numpyやscipyとかもろもろ入れながら設定しなければならないが、
anacondaを入れたことでそのあたりはよしなにやってくれているので、いきなりtheanoをいれればおk。
$ pip install theano
3-2. pyparsingをダウングレードする
theanoをpythonからimportしようとするとエラーがでる。
>>> import theano
Couldn't import dot_parser, loading of dot files will not be possible.
2015-08-17時点で入るanacondaに最初から入っているpyparsingはv2.0.1で、これが原因とのこと。
v1.5.7を使えばいいらしいので、v1.5.7をインストールする
$ pip install pyparsing==1.5.7
これで問題なくtheanoが使えるようになる。
参考: pydot and graphviz error: Couldn't import dot_parser, loading of dot files will not be possible
まとめ
- pyenvをインストールした
- anacondaをインストールした
- theanoをインストールした
- はまりどころはpyparsingのバージョンのみ。簡単。