このエントリーをはてなブックマークに追加

Advent Calendar 2013 - 1

Python で解析! - 環境構築

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

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

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

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

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

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

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

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

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

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

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

python は Mac 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/config/ftheader.h>

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

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

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

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

7. 動作確認

$ ipython notebook —pylab inline

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

今回はこんなところで。

Note

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