おいちゃんと呼ばれています

ウェブ技術や日々考えたことなどを綴っていきます

python_select は死んだ

ええと、タイトルそのままなのですが。

どうもこの前(2011年5月)の仕様変更により、MacPortspython_select が使えなくなったようです(正確には xxx_select(xxx には言語が入る)全般のようですが、python_select 以外使ったことないのでこの点は他に譲ります)。

ちょっとハマってしまって小一時間無駄にしてしまったので、同じような MacPorts ユーザのためにメモしておきます。MacPorts のバージョンは、1.9.2 です。

*python_select おさらい

ちなみに python_select というのは、python を複数インストールしているときに、使用するバージョンを切り替えてくれる有り難いツールのことですね。例えば、普段 Python 2.6 を使っている人が Google App Engine の開発用に Python 2.5 を使いたいとき

|sh| $ sudo port python_select python25 ||<

としてました。地味ですが、いい仕事をしてくれていました。

それが MacPorts の仕様変更により、

|| $ sudo python_select python25 sudo: python_select: command not found ||<

となってしまいました。まだウェブ上の多くの記事が Python のバージョンを切り替えるには python_select を使えと書いているので、混乱してしまうかもしれませんね。

*これからは port select

じゃあ、これからどうしたらいいの? <<

という点について、これからは「port select」コマンドを使うようになります。例えば Python 2.5 を使いたいときには

|| $ sudo port select --set python python25 Selecting 'python25' for 'python' succeeded. 'python25' is now active. ||<

とします。バージョンを切替後、ターミナルの再起動が必要です(これ大事!)

|| $ python -V Python 2.5.6 ||<

なお、使用可能な Python 及び現在のバージョンを確認するときは --list オプションを使えば OK です。

|| $ port select --list python Available versions for python: none python25 (active) python25-apple python26-apple ||<

*おまけ - Homebrew っておいしいの??

以上です。3行で済むハナシを引っ張ってしまってごめんなさい。でも少し前から、MacPorts から Homebrew への乗り換えが流行っているらしいですね。Homebrew ナニそれ?って人は下記の記事が参考になります。

-http://d.hatena.ne.jp/tokuhirom/20100625/1277435268

MacPorts と同じようなことをしてくれるツールです。違いを簡単に言うと、MacPorts のほうは OS に標準でインストールされているものでもとりあえず別途インストールするのですが、Homebrew のほうは既にもっているものはインストールせずにそれを利用しようとします。つまり容量を節約できて、かつ環境構築にかかる時間も短縮できるらしいです。

MacBook Air ユーザにとっては容量の節約は重要なので、そう遠くないうちに乗り換えるかもしれません。

ではでは。

*参考サイト

-Changeset 78593 – MacPorts -#29531 (_select ports no longer provide _select binary) – MacPorts -http://d.hatena.ne.jp/tokuhirom/20100625/1277435268