読者です 読者をやめる 読者になる 読者になる

彼女からは、おいちゃんと呼ばれています

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

python_select は死んだ

Mac Python

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

どうもこの前(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 を使いたいとき

$ 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 ナニそれ?って人は下記の記事が参考になります。

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

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

ではでは。