MacでPythonの機械学習環境構築(2015年2月版)
概要
MacでPythonの管理と機械学習環境構築の備忘録です。
2015年2月版です。
簡単にまとめるとこんな感じです。
前回は結構めんどくさかったのですが、各ライブラリのバージョンアップのお陰でかなり簡単にインストールできるようになりました。
前準備
バージョン管理システムはhomebrewを使います。
パッケージ管理システムとは、ソフトウェアをまとめて管理(インストールやアップデート、削除等)するためのソフトです。
homebrewについては次の解説が参考になります。
- 公式
Homebrew — The missing package manager for OS X
- インストール、使い方
MacOSX - パッケージ管理システム Homebrew - Qiita
# homebrewのインストール ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Pythonの導入・管理
Pythonの管理には、pyenvを使います。
yyuu/pyenv · GitHub
pyenvは、Pythonをバージョンごとに個別に管理するためのソフトです。
非常にややこしいPythonの環境構築を簡単にしてくれます。
# pyenv のインストール brew install pyenv
pyenvを使う前に環境変数を設定する必要があります。
.bash_profileに次のコマンドを書き足します。
# 環境変数の設定 export PATH="$HOME/.pyenv/shims:$PATH"
pyenvは様々なバージョンのPython(やサードパーティ)に対応しています。
次のコマンドでインストールできるPythonの種類を確認できます。
# pyenvでインストールできるPythonの確認 pyenv install -l
例えば、(2015年2月時点で)最新版のPython 3.4.2は、
pyenv install 3.4.2
でインストールできます。
デフォルトではユーザディレクトリの.pyenv以下にインストールされます。
機械学習ライブラリの構築
Pythonの機械学習ライブラリとして、Anacondaを使います。
Anaconda Scientific Python Distribution
- numpy
- scipy
- matplotlib
- scikit-learn
- pandas
あたりが定番なのですが、Anacondaはこれらをひとまとめにしてインストールしてくれます。個別にインストールするよりすごい楽です。iPython等の開発に便利なツールもインストールしてくれます。
Anacondaはpyenvでインストールできます。
2015年2月現在、AnacondaはPython2系のパッケージとPython3系のパッケージがあります。
Python 2系を使っている方は anaconda-2.1.0 を、Python3系を使っている方は anaconda3-2.1.0 をインストールしてください。
# Anacondaのインストール # 数百Mあるので結構時間かかります。10分くらい? # バージョンは適宜最新版に書き換えてください # Python2をベースにしたパッケージ # Python2で仕様したい方はこちらをインストールしてください pyenv install anaconda-2.1.0 # Python3をベースにしたパッケージ # Python3で仕様したい方はこちらをインストールしてください pyenv install anaconda3-2.1.0
以降の説明はPython3系を元に行います。
インストールしたらおまじない(再ハッシュ)しましょう。
pyenv rehash
pyenvでは使用するバージョンのPythonを選択できます。
先程インストールしたAnacondaに設定する場合は、
# 使用するPythonの選択 pyenv local anaconda3-2.1.0 pyenv global anaconda3-2.1.0
といった感じです。
ローカル環境とグローバル環境で使い分けられます。が、とりあえずは両方同じPythonに設定しておきます。
余談
pyenvでよく使うコマンドは
# 現在使ってるPythonの確認 pyenv version # インストールされてるPythonの確認 pyenv versions # Pythonのアンインストール pyenv uninstall
あたりです。詳しくはここに。
pyenv/COMMANDS.md at master · yyuu/pyenv · GitHub
Pythonに関して言えば、一つのPythonをアップデートして使うより、バージョンごとに新しくPythonの環境を構築したほうが良いと思います。*1