pythonbrewをインストールしてみたよ

Pythonの環境をpythonbrewで作ってみたメモです。


Pythonを書きたかった訳ではなくて、ドキュメントジェネレータの一種である
doccoを使ってみたかっただけなんですが、これがPython製のPygmentsっていうのを使ってるんですね。
で、easy_installで簡単にインストールできるよ!って(大抵どこを見ても)あるんですが、
確か記憶では導入は簡単だけど削除は面倒だったはずなので躊躇してたのです。


virtualenv, virtualenvwraperは既にPythonが入ってることが前提だし、
Pythonにもperlbrew, rvm, nvmみたいなのないのかなーと思って探してみたら、
pythonbrewを見つけたのでインストールしてみることにしたのでした。
環境:MacOS 10.7.2

インストール

$ curl -kL https://raw.github.com/utahta/pythonbrew/master/pythonbrew-install | bash

pythonbrewがあるgithubのREADME.rstには

$ curl -kL http://xrl.us/pythonbrewinstall | bash

とあるけど、どちらも同じなのでどっちでもOKです。(たぶん)

環境変数の設定

~/.bashrcもしくは~/.bash_profileなどに以下を書きます。

[[ -s $HOME/.pythonbrew/etc/bashrc ]] && source $HOME/.pythonbrew/etc/bashrc

……と書いてあるのですが、私は以下のように書きました。
冗長だなあとも思いますが、似たようなものだと思うのでどちらでもいいかと。

# pythonbrew
PYTHONBREW=$HOME/.pythonbrew/etc/bashrc
if test -f "$PYTHONBREW"
then
  source "$PYTHONBREW"
fi


書いたら、読み込ませるために以下のコマンドを実行します。

$ source ~/.bashrc

動作確認

$ which pythonbrew
/Users/sasaplus1/.pythonbrew/bin/pythonbrew
$ pythonbrew --help
(使い方が表示される)

インストールはこれで完了。

Pythonのインストール

いくつかオプションはあるみたいですが、とりあえずは以下でOKのようで。

$ pythonbrew install 2.7.2

コンパイル中のログは

$ tail -f /Users/sasaplus1/.pythonbrew/log/build.log

で見れます!とか表示されます。
結構コンパイルに時間がかかる……


って、なんかコンパイル失敗したよ!
テストにいくつか通らなかったからかな……
ということで再度コンパイル

$ pythonbrew install --no-test 2.7.2

--no-test(-n)を付けるとテストをスキップしてくれるらしい。
コンパイル中に「許可しますか?」ダイアログが何回かでてきて、無視したけどそれのせいなのかな。
ちなみに--force(-f)を付けるとテストに失敗してもインストールしてくれるらしい。

早速使ってみる

--no-testでコンパイルしたら終わった。インストールできたので使ってみる。

$ which python
/usr/bin/python
$ pythonbrew switch 2.7.2
/Users/sasaplus1/.pythonbrew/pythons/Python-2.7.2/bin/python

おおおー、切り替わってる!

$ pythonbrew list
# pythonbrew pythons
  Python-2.7.2 (*)

おー、って一個しか入れてないけどw

pythonbrew == pybrew

pythonbrewって長いなあ、と思ったらpybrewって打っても良いみたい。

venv

virtualenv, virtualenvwrapperをラップしたコマンドらしい。
早速環境を作ってみる!

$ pybrew venv create default

defaultって名前で環境を作ってみた。
このコマンドを実行するとvirtualenvをダウンロードしてきて、インストールするみたい。

$ pybrew venv list
(リストが表示される)

多分これだと、switchで設定したPythonのものだけ表示されるのかな。

$ pybrwe venv list -a

だとすべて表示されるみたい。


環境を使うには

$ pybrew venv use default

で。
消すのは

$ pybrew venv delete default

で。

パッケージのインストール

$ which pip
/Users/sasaplus1/.pythonbrew/venvs/Python-2.7.2/default/bin/pip

おー、pipが入ってる。


というわけでPygmentsをインストールしてみる!

$ pip install pygments

インストール終わりww
で、使えるのかな?

$ which pygmentize
/Users/sasaplus1/.pythonbrew/pythons/Python-2.7.2/bin/pygmentize

おおー!これで既存の環境を壊さなくて済む!やったね!


参考:
http://www.ninxit.com/blog/2010/10/04/python%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B%E3%83%84%E3%83%BC%E3%83%AB%E3%80%81pythonbrew%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF/
http://www.ninxit.com/blog/2011/05/28/pythonbrew%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%99%E3%82%8Bpython%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83/
http://www.ninxit.com/blog/2011/07/22/pythonbrew-python-2/
GitHub - utahta/pythonbrew: Python Environment manager
Macにpythonbrew+virtualenvでPython環境を作ってみた - ぱせらんメモ
pipの使い方 - そこはかとなく書くよ。