DT日記

家を離れた自宅警備員の日記

pybrewが終了のお知らせらしいのでPythonzを入れてみた

要するに pythonbrew (短縮コマンド名 pybrew) はもう作者自身では積極的にアップデートしませんよ、でも fork としてこんなんありますよ、ってことで pythonz が紹介されてる。

Pythonz は pythonbrew の直接の代替品ってわけではなくて、いろいろ削られてる。

  • switch (デフォルトの python を切り替へる)
  • use (現在のシェルで使用する python を切り替へる)
  • buildout (zc.buildout 相当の機能)
  • venv (virtualenv 相当の機能)

退化してるやうにも見えるけれど、正直バージョンの切り替へは煩雑なのでなくても良いだらう。それに、手元の環境では pybrew buildout, pybrew venv はうまく動作してゐなかった。

これらは改善・保守の見込みがないので、virtualenvzc.buildout を入れて使ふのが良いだらう。

あと、pybrew では Python のインストール直後に入れてくれた easy_install, pip も、やはり入れてくれなくなってゐる。

バージョン切り替へ機能に関しては pybrew を使ってゐて特に不具合はなかったので、もし必要ならばそのまま移行せずに使ひ続けても良いかもしれない。

ってわけで、切り替へ機能は特に必要はないので、 Ubuntu 12.04 LTS Desktop 日本語 Remix CD に開発環境の整理がてら Pythonz のインストールをキメてみる。


最初にビルドツールと各種ライブラリをインストールしておきたい。

sudo apt-get install build-essential python-dev curl
sudo apt-get install libncurses-dev libreadline6-dev libbz2-dev liblzma-dev libsqlite3-dev libgbm-dev

次に、Pythonz をインストール。標準のディレクト$HOME/.pythonz で良い場合は次の一行で入る。

curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

任意のディレクトリ (/path/to/pythonz) にインストールしたい場合はこんな感じ。

export PYTHONZ_ROOT=/path/to/pythonz
curl -kLO https://raw.github.com/saghul/pythonz/master/pythonz-install
chmod +x pythonz-install
./pythonz-install

で、.bashrc なり .zshenv なりに次の二行を追記。任意のディレクトリにインストールした場合は適宜書き換へ。2.7.3 以外のバージョンでも適宜。

僕は zsh ユーザなので $HOME/.zshenv に書いておく。

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc
export PATH=$HOME/.pythonz/pythons/CPython-2.7.3/bin:$PATH

で、いいのかなあ(疑問)。

これで一往動く。 PATHディレクトリは現存しないけど、後でもう一度エディタで編輯するのは手間なので。

.pythonz/etc/bashrc を読めばわかるのだけれど、これを source した後に、.pythonz 下の Python の path を追加する必要がある。

source $HOME/.zshenv するか、シェルに再ログインすると pythonz コマンドが使用可能になってゐるはず。

pythonz install 2.7.3
rehash

rehashzsh の場合のみ。

あとは which python で、/home/megurine/.pythonz/pythons/CPython-2.7.3/bin/python みたいに出力されればインストールは成功。/usr/bin/python のやうな path ならば正常にインストールできてません。

curl http://peak.telecommunity.com/dist/ez_setup.py | python
rehash

これでeasy_install がインストールできるので、 which easy_install で上記と同じディレクトリに入ってゐるかを確認。

Ubuntu/usr/bin/python なら sudo を付けないと easy_install はインストールできないはずなので、それっぽく動いてればおk。

確認できたなら、次に pip を入れておきます。 pipeasy_install より賢いやつ、ってことで間違ってないです。

easy_install pip
rehash

最後に virtualenv, zc.buildout 、ついでに Mercurial も入る。

pip install Mercurial
pip install zc.buildout
pip install virtualenv
rehash

Mercurial (hg) は頻繁にアップデートされるのに Ubuntuリポジトリではあまり追従してくれないので、これは pip を使っておくのが便利。

さらに最新版にアップデートしたいときは pip install Mercurial で。