Python で解析 1

“Advent Calendar 2013 - Python で解析!” の一日目。環境構築。

0. 前置き

「Pythonista なら解析も python でやりたい!」

日本では、解析ツールというと R が一般的なようだが (*1)、世界的には Python も標準的に使われているようだ。アドホックな解析なら R でかまわないのだが、Web システムの構築という観点からは、できれば Python を使いたいところ。

Python の方が動作が速いらしいし、Pandas と matplotlib と ipython を組み合わせれば、RStudio のような作業環境も作れる。という訳で、そのあたりのことを Advent Calendar のネタとして書いてみる次第。

(*1) 予算が潤沢にあるところは SPSS とか SAS とかいうのを使うらしい。

1. command line tools をインストールする。

Mavericks & Xcode 環境では、インストール方法が紆余曲折あったようだが、どうやら Apple Developer Center からダウンロード & インストールするものらしい。Xcode を立ち上げてメニューを辿ると、ダウンロードサイトに飛ばしてくれる。

Xcode -> Open Developer Tool -> More Developer Tools …

2. XQuartz をインストールする。

XQuartz のサイトからダウンロード & インストールする。

http://xquartz.macosforge.org/landing/

3. Homebrew をインストールする。

Homebrew のサイトの通りにインストールする。

http://brew.sh/index_ja.html

PATH に /usr/local/bin, /usr/local/sbin を追加するために ~/.bashrc に以下の行を追加する。

$ export PATH=/usr/local/bin:/usr/local/sbin:$PATH

そして PATH を有効にする。

$ source ~/.bashrc

4. Python をインストールする。

$ brew install python

pythonMac OS X にバンドルされていて、そちらを使っても問題ないと思われるが、以下の環境構築は brew でインストールした python を使っている。そうでない場合の動作は未確認である。

5. Python のパッケージ類をインストールする。

virtualenv を使う人は、この前に virtualenv の環境を作ってからどうぞ。

$ pip install matplotlib
$ pip install pandas
$ pip install ipython
$ pip install pyzmq # ipython notebook を使うのに必要
$ pip install Jinja2  # ipython notebook を使うのに必要

numpy など、依存関係のあるものは自動的にインストールされる。

今回の件では蛇足になるが、 ipython をターミナルで使う場合、表示が崩れる場合がある。その場合は readline をインストールすれば解決する。ただし、pip ではなく easy_install を使ってインストールする必要がある。

$ easy_install readline
5.1. matplotlib のコンパイルがうまくゆかない場合

matplotlib のインストール時に次のようなエラーが発生するかもしれない (2013/11/30 時点の最新版では、このエラーが出ていた)。

In file included from src/ft2font.h:16:
/usr/X11/include/ft2build.h:56:10: fatal error: ‘freetype/config/ftheader.h’ file not found
#include

詳しくは分からないが freetype の置き場所が変わったらしいので、シンボリックリンクを作って解決する。

$ sudo ln -s /usr/X11/include/freetype2/freetype/ /usr/X11/include/freetype

6. matplotlib を日本語対応にする。

標準では日本語フォントになっていないため、日本語の文字列が表示されない。設定ファイル matplotlibrc にフォントの設定を追加するのだが、そのやり方は次のサイトを参考にした。

“matplotlib で日本語を表示する設定”
http://www.sakito.com/2012/01/matplotlib.html

7. 動作確認

$ ipython notebook ―pylab inline

で、ブラウザが起動して notebook が使えるようになっているハズ。