機械学習フレームワークの1つである Chainer 1.5 を OS X 10.10 や 10.11 にインストールした。
そのプロセスメモ。
Chainerは Python のパッケージになっている。
まずは Python のバージョンを今の時点で最新の Python 2.7.11 にあげる。
Python のバージョンの管理は pyenv を使うのが便利なので、pyenv がなければこの際 pyenv もインストールする。
Chainer は Python package を管理するコマンド pip を使ってインストールできるため、pip が入ってなければまずはそれからインストールする。
☆ pyenv のインストール
$git clone https://github.com/yyuu/pyenv.git ~/.pyenv
そして、.zshrc や .bash_profile に
export PYENV_ROOT="${HOME}/.pyenv"
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
と記述を追加する。そして、そのままのシェルで作業を続ける場合は
$source ~/.zshrc
これで
$pyenv versions
などが実行できる。
☆ Python 2.7.11 のインストール
$pyenv install 2.7.11
とすれば、依存するパッケージもインストールしながら、Python のインストールが実行される。
でも、依存するライブラリのコンパイルでつまったので、Python のアップデートは諦めてシステムに入っている 2.7.10 で進める事にした。
もし 2.7.11 がうまくインストールされたら
$pyenv global 2.7.11
で、2.7.11 を使うようにしておく。
☆ pip のインストール
$sudo easy_install pip
でインストールできる。
easy_install は setuptools (https://pypi.python.org/pypi/setuptools) をインストールすることでインストールされる(はず)。
☆ h5py をインストール
hdf5 serializers を使えるように h5py が必要。
$sudo -H pip install h5py
☆ Chainer のインストール
$sudo -H pip install chainer
とする。
numpy のバージョンが低すぎるとエラーがでたなら
$sudo easy_install --upgrade numpy
これのコンパイル時に xcodebuild -license をまだしてない、というエラーで止まったので、
$sudo xcodebuild -license
として、xocde のライセンスに agree しておく。そして、再度 easy_install で numpy アップデートの実行。
再び
$sudo -H pip install chainer
OS X 10.10, 10.9 だとこれでOK。無事にインストールが完了する。
ところが OS X 10.11 の場合ここで
copying LICENSE.rst -> /System/Library/Frameworks/Python.framework/Versions/2.7/
error: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/LICENSE.rst'
というエラーがでる。
OS X 10.11 から新しいセキュリティシステムのため /System 以下に root 権限でもアクセスできなくなっている。
やはり python 2.7.11 を pyenv でインストールするしかなさそうだ。
pyenv で python をインストールした場合は、後から追加する python package は ~/.pyenv 下にインストールされるため、/System/.. 以下にアクセする必要がなくなると思われる。
機械学習Chainer関連メモの目次
そのプロセスメモ。
Chainerは Python のパッケージになっている。
まずは Python のバージョンを今の時点で最新の Python 2.7.11 にあげる。
Python のバージョンの管理は pyenv を使うのが便利なので、pyenv がなければこの際 pyenv もインストールする。
Chainer は Python package を管理するコマンド pip を使ってインストールできるため、pip が入ってなければまずはそれからインストールする。
☆ pyenv のインストール
$git clone https://github.com/yyuu/pyenv.git ~/.pyenv
そして、.zshrc や .bash_profile に
export PYENV_ROOT="${HOME}/.pyenv"
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
と記述を追加する。そして、そのままのシェルで作業を続ける場合は
$source ~/.zshrc
これで
$pyenv versions
などが実行できる。
☆ Python 2.7.11 のインストール
$pyenv install 2.7.11
とすれば、依存するパッケージもインストールしながら、Python のインストールが実行される。
でも、依存するライブラリのコンパイルでつまったので、Python のアップデートは諦めてシステムに入っている 2.7.10 で進める事にした。
もし 2.7.11 がうまくインストールされたら
$pyenv global 2.7.11
で、2.7.11 を使うようにしておく。
☆ pip のインストール
$sudo easy_install pip
でインストールできる。
easy_install は setuptools (https://pypi.python.org/pypi/setuptools) をインストールすることでインストールされる(はず)。
☆ h5py をインストール
hdf5 serializers を使えるように h5py が必要。
$sudo -H pip install h5py
☆ Chainer のインストール
$sudo -H pip install chainer
とする。
numpy のバージョンが低すぎるとエラーがでたなら
$sudo easy_install --upgrade numpy
これのコンパイル時に xcodebuild -license をまだしてない、というエラーで止まったので、
$sudo xcodebuild -license
として、xocde のライセンスに agree しておく。そして、再度 easy_install で numpy アップデートの実行。
再び
$sudo -H pip install chainer
OS X 10.10, 10.9 だとこれでOK。無事にインストールが完了する。
ところが OS X 10.11 の場合ここで
copying LICENSE.rst -> /System/Library/Frameworks/Python.framework/Versions/2.7/
error: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/LICENSE.rst'
というエラーがでる。
OS X 10.11 から新しいセキュリティシステムのため /System 以下に root 権限でもアクセスできなくなっている。
やはり python 2.7.11 を pyenv でインストールするしかなさそうだ。
pyenv で python をインストールした場合は、後から追加する python package は ~/.pyenv 下にインストールされるため、/System/.. 以下にアクセする必要がなくなると思われる。
機械学習Chainer関連メモの目次