2012年11月5日月曜日

Mac OSX Lion で Homebrew 経由で Python の pip 使うときに苦労した話

超雑記。

portなどを使っていた環境からbrewへの移行。
portのときどんなふうにインストールしたか記憶がない。
virtualenv, virtualenvwrapperで仮想環境を作っていた。

(Homebrewのインストールは省略。ユーザー権限でインストール。rootじゃない)

brew install python でpython をインストール
.zshenvに
export PATH=/usr/local/bin:/usr/local/share/bin:$PATH
を追加。普通は.bashrc。

同時にインストールされるというpipでnumpyをインストールしようとすると
すでに入っていると言われた

とりあえず pip freezeで得られるパッケージを全削除して
foreach i (`pip freeze | awk -F== '{print $1}'`)
sudo pip uninstall $i
end
(rootでインストールされていたのでsudo)

再度インストール
しかし
/Library/... permission denied
と怒られる。
root権限のところに書こうとしている。前使っていた環境のpipでの書き込み先だ。

brew uinstall python

brew install python --universal
してみた
しかしだめだ

よくよくインストールログを見るとbrew linkが完了しなかったという情報が

brew link python

してみると
pipがすでにあるからリンク貼れなかったぜ馬鹿野郎と怒られる

brew link --overwrite python

して元からあるやつを上書き。
ちゃんと動いた。
前に使っていたpipがpath上に残っていたせいで、そちらのpipの環境を使ってしまっていたのが原因だった。