うっかりエンジニアのメモ

未来の自分に宛てたメモ

Mac OS X 10.9.4にpython2.7開発環境+scikit-learn実行環境構築

ばりばり言語処理&機械学習しちゃうぞ

以下をインストールします

  • XCode 5.1.3
    • Command Line Tools
  • Homebrew 0.9.5
  • gcc 4.2.1
  • Python 2.7.8
    • numpy 1.8.2
    • scipy 0.14.0
    • scikit-learn 0.15.1
      • nose 1.3.3
  • mecab 0.996

手順

XCode

Command Line Toolsが後々、ライブラリのコンパイルで必要になる。
Xcode本体はAppStoreで検索するとすぐに入手できるので割愛します。
本体をインストール後、ターミナルで以下のコードを実行する。

$ xcode-select --install

参考:MacにHomebrewをインストールする

homebrew

おなじみのパッケージマネージャ。
homebrew公式サイトの最下部にあるワンライナーをターミナルで実行する。

2014/08/21時点では以下の通り。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Python本体

systemのpythonとは別に実行環境を作成したいのでpyenvでインストールする。

$ brew update
$ brew install pyenv
$ brew install pyenv-virtualenv # これは任意

$ pyenv install 2.7.8

numpy

$ pip install numpy

scipy

このままpip install scipyしてもインストールは失敗する。

そこでgfortranを入れようとすると、

$ brew install gfortran
Error: No available formula for gfortran
GNU Fortran is now provided as part of GCC, and can be installed with:
brew install gcc

gfortranはgccに組み込まれたよ!と言われる。なので、おとなしくgccを入れる。

$ brew install gcc

その後インストールするとうまくいく。

$ pip install scipy

nose

$ pip install nose

noseをインストールする理由

バージョン0.15.1のscikit-learnの依存性解決に不具合があるらしく、scikit-learnのインストール後にいざscikit-learnを使おうとすると

ImportError: No module named nose.tools

というエラーで起こられる。そのため、先にnoseをインストールしておく。

参考:Import errors after upgrading to sklearn 0.15

scikit-learn

機械学習用ライブラリ。

$ pip install scikit-learn

mecab関連

形態素解析ライブラリのmecabをインストールする。

$ brew install mecab
$ brew install mecab-ipadic

mecabpythonから利用するためのバインディングを導入する。

$ pip install https://mecab.googlecode.com/files/mecab-python-0.996.tar.gz

なお、mecab本体とバインディングのバージョンは一致させる必要がある。