2011/04/24

MacBook AirにPython開発環境とかをインストール。

Macは(よくしらんけど、たぶん)BSDの改造を重ねたOSである。
ということは、ただのネットブックじゃなくて、サブ開発マシンくらいにできるはずだ。
そんなことして、ちょっとインテリぶってみようとか、思わずにはいられなかったので、やってみた。

そんで、とりあえず手っ取り早く、しかもライブラリ豊富なPythonを、、と思ったが、かなりハマったので、メモっておく。


[前提] Pythonのインストール
ターミナルから「python -i」ってうつと


Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
こんな感じのが出てくるのだが、結論から言うと、これをそのまま使うことはできない。
なんでかは、忘れた。気になる人はggrks

で、とりあえずActivePython2.6をインストール。
難なく終了。/usr/local/bin/python, とか/usr/local/bin/easy_install とかできる。

さて、この時点ではpython と打つだけでは/usr/bin/python のほうが実行されてしまう。
ので、.bashrcと.bash_profileを以下のようにセットする。

.bashrc
alias python="/usr/local/bin/python"
alias easy_install="sudo /usr/local/bin/easy_install"
.bash_profile
if [ -f ~/.bashrc ] ; then
  . ~/.bashrc
fi

そんで、source .bash_profile を実行。
python -i とすれば
ActivePython 2.6.6.18 (ActiveState Software Inc.) based on
Python 2.6.6 (r266:84292, Jan  7 2011, 13:13:45) 
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
こんな感じでActivePythonのほうが起動される。

[1] numpy, scipy, matplotlib, PIL をインストールする前に。

環境さえ揃っていれば、これらはパッケージインストールすることができる。環境さえ揃っていれば!
そう、環境がそろっていなくてハマるのである。

まずはこいつを。

./configure
make
sudo make install

export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig

numpyをインストールするために。 

あったほうがいいらしい。フーリエ変換使わないものがほとんどだと思うので、多分、なくてもある程度は動く。

scipy…多分すんなりいく。

PIL(Python-Imaging)をインストールするために。
・zlib
・jpeg-7
・libpng
ソースをネットからおとしてくる。

zlibとlibpngはふつうに./configure, make, sudo make install
jpeg-7は、
CC="gcc -arch i386"
をしてから
./configure --enable-shared --enable-static
make
sudo CC="gcc -arch i386" make install

そんで、最大の落とし穴が、1.1.6じゃないとインストールできないっぽい、ということ。
ここの1.1.6用のソースを落としてきて、
python setup.py build
sudo /usr/local/bin/python setup.py install
↑rootはaliasしてないので、絶対パスでPythonを呼び出す。

Pythonのシェルで「import _imaging」と打って、エラーにならなければ成功。

・matplotlibをインストール
パッケージから行けるんだけども。。

インストール後、
・インストールパッケージ内にあるmatplotlibrc.templateを ~/.matplotlib/matplotlibrc にコピる
・matplotlibrcの、backendのところを、MacOSXにする!
# the default backend; one of GTK GTKAgg GTKCairo CocoaAgg FltkAgg
# MacOSX QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG Template
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'
backend      : MacOSX
これをしないと、「TclError」とかでてきて、ハマる。
日本語フォントを表示したいときは、過去post参照。(http://plog.search-labo.net/2011/01/matplotlib.html)

[2] パッケージインストール
なにも難しくない。
numpy, scipy, matplotlib それぞれggrks

ふぅ。。