木曜日, 9月 16, 2010

Snow Leopardにmatplotlibをインストールした

最近はmatplotlibがないと生きていけない体になりつつあり、自宅でmatplotlibが使えないというのは生死に係わる大問題となっております。今まではUbuntuをインストールしたノートPCで使用しておりましたが、その為にいちいちノートPCを用意するのも面倒ですので、ここは一つMacでも使えるようにしようということです。

Snow Leopardには初めからPythonが用意されています。

$ /usr/bin/python
Python 2.6.1 (r261:67515, Dec 17 2009, 00:59:15) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
これを使う形でmatplotlibを用意することも選択肢の一つ(ただし推奨されてない)ですし、また自前で全て用意することが最善であるようにも思えます(こちらこちら参照)。要望としては、メンテナンスに手間がかからない様パッケージシステムに頼りたい、できればX11を使わずにCocoa GUIで使いたいと考えます。今回はできるだけMacPortsを使ってX11に依存しないようインストールすることを試みました。

こちらこちらを参考にと考えましたが、パッケージのリビジョンが違うせいかそのままではうまく行きませんでした。pythonもスタンドアロンのバイナリでなくMacPortsでビルドします。tkinterで使用する予定はないので、"\$ sudo port install python26 +gcc44 +no_tkinter"でインストールします。"+gcc44"なのはなんとなくです(まったく根拠なし)。最初はgccまでビルドされますのでとても時間がかかります。終わりましたら"\$ sudo port install python_select"で"\$ sudo python_select python26"とします。次にnumpyをインストールします。これが問題で、"\$ sudo port install py26-numpy +gcc44"としてもビルドに失敗します。"\$ sudo port install py26-numpy @1.4.1 +gcc44"とバージョンを落としても変わりません。調べますと、現状ではATLASと組み合わせるとうまく行かない状況なようです。ATLASは使いたい気もしますが、ここは諦めて先に進むことにします("\$ sudo port install py26-numpy +gcc44 +no_atlas")。あとはscipyとipythonをインストールしてmatplotlibをインストールします。

$ sudo port install py26-scipy +gcc44
$ sudo port install py26-ipython
$ sudo port install py26-matplotlib +no_tkinter
取りあえずこれで全てビルドができました。matplotlibのビルドの最後に「matplotlibrcを書き換えろ」と出てきますので書き換えます。
# 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      : Agg
backend      : MacOSX

まだいろいろは試していませんが、簡単なスクリプトでは一応動作してくれています。

0 件のコメント: