MacのMacPortsでPythonのバージョン設定とeasy_installでパッケージインストール
Pythonにpython-twitterというパッケージいれて、ちょっとtwitterをapiでいじりたいなーと思ったので、さっそく環境を用意しよう...さっそく詰まるorz
環境と基本方針
OS:Macのスノレパちゃん。
MacPortsは既に使える状態。
基本方針:(ソースとって来て、インストールすれば大体の問題は、きっと解決するんだろうけど)なるべくMacPortsにお世話になりたい。
MacPortsでいろんなバージョンのpythonをインストール
PythonはMacにデフォルトでも入ってるんだけど、とりあえず、2.5が必要とか言われたりもすることもあったので、いろいろなバージョンを入れる方法*1。
#2.5を入れたいなら % sudo port install python25 #2.6を入れたいなら % sudo port install python26 #2.7を入れたいなら % sudo port install python27 #3.1を入れたいなら % sudo port install python31
で、デフォルトのバージョンを入れ替える方法。昔は、python_select python25とかやればよかったのに、もう使えない。で、どうやら、方法が変わっただけで、それは手段があるらしい。
% port select --list python Available versions for python: none python25 (active) python25-apple python26 python26-apple python27 python31
これで、どのpythonが使えるかのバージョンがわかる。で、(active)なのが今のデフォルトのやつ。で、例えば、python3.1にしようと思えば、
% sudo port select --set python python31
とかする。
この辺を参照しました。
easy_installでさくっとパッケージを入れる"ために"
で、パッケージを入れようとすると、また詰まる。で、試行錯誤。
easy_installもそれぞれのPythonに対応(バージョンという意味ではなくて、python26なのか、python26-appleなのかで違う)したものがあるらしい。
じゃあ、MacPortsで入れたPythonに対応するeasy_installを入れたい。それは、setuptoolsを使うときはsetuptoolsではなくてdistributeを使え! - YAMAGUCHI::weblogとのこと。(もうPortsのpy25-setuptoolsとかないらしい)。
#python25に対応したのを入れたいなら % sudo port install py25-distribute #python26に対応したのを入れたいなら % sudo port install py26-distribute #python27に対応したのを入れたいなら % sudo port install py27-distribute
とすると。で、これで、easy_installも入りました。
ところで、デフォルトのeasy_installは、
% which easy_install /usr/bin/easy_install
なのですが、新しく入れたeasy_installたちは、
% which easy_install-2.5 /opt/local/bin/easy_install-2.5
に入ってますと。python25になにかパッケージ(例えば、simplejson)を入れたければ、
% sudo easy_install-2.5 simplejson
とかする。
まとめ
MacPortsのPython 2.5 で、パッケージのsimplejsonを入れたければ、
% sudo port install python25 % sudo port install py25-distribute % sudo port select --set python python25 % sudo easy_install-2.5 simplejson
とするのみ(たぶん)。推奨はされない方法かもしれませんががが。
*1:こんなに入れてどうする・・・ごくり