MacのMacPortsでPythonのバージョン設定とeasy_installでパッケージインストール

 Pythonpython-twitterというパッケージいれて、ちょっとtwitterapiでいじりたいなーと思ったので、さっそく環境を用意しよう...さっそく詰まるorz

環境と基本方針

OS:Macのスノレパちゃん。
MacPortsは既に使える状態。
基本方針:(ソースとって来て、インストールすれば大体の問題は、きっと解決するんだろうけど)なるべくMacPortsにお世話になりたい。

MacPortsでいろんなバージョンのpythonをインストール

PythonMacにデフォルトでも入ってるんだけど、とりあえず、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

とかする。

まとめ

 MacPortsPython 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:こんなに入れてどうする・・・ごくり