概要: pythonbrew を使って複数のバージョンの python をインストール
三日前に [[perlbrew で perl-5.12.2 をインストール /post/50888867347]] して、
複数のバージョンの perl を切り替えられる喜びに目覚めてしまったので、
perlbrew
の Python 版というかperlbrew
を参考にして作られた pythonbrew を導入してみました。
0. 参考
1. pythonbrew
の導入
$ cd ~/tmp/
$ curl -LO -k http://github.com/utahta/pythonbrew/raw/master/pythonbrew-install
ここで、さっき落としてきたpythonbrew
のインストーラーを修正します。
何時からそうなのかはわかりませんが、今の github.com が使ってる証明書関連の関係で、
curl
でhttps
を使った github へのアクセスが、-k
オプションを指定しないと失敗するので、
先ほど落としてきたpythonbrew-install
の中で、curl
使ってhttps
にアクセスしてる部分を修正します。
具体的には、pythonbrew-install
の line 60 の辺り、
code:_ STABLE_VERSION=
curl -sL https://github.com/utahta/pythonbrew/raw/master/stable-version.txt
となっているところを、
STABLE_VERSION=`curl -sL -k https://github.com/utahta/pythonbrew/raw/master/stable-version.txt`
とします。
であとは、
$ chmod +x pythonbrew-install
$ ./pythonbrew-install
でpythonbrew
をインストール、で以前のperlbrew
の時と同じく、
$ source ~/.pythonbrew/etc/bashrc
しておきます。まあこれはシェルの設定ファイルに書いておくといいでしょう。
またこの例ではbashrc
になってますが、csh
使ってる場合はcshrc
を指定してください。
で、一旦端末を再起動します。
2. pythonbrew
のちょっとした修正
本当は次でpythonbrew install 2.5.5
したいところなんですが、
最初そのまま試したときには、なんかmake test
の段階でtest_asynchat
が途中でとまって先に進まないという事態に遭遇しました。
で、オプションでテストをスキップできるかと思いきや、
テストをスキップするオプションがなかったので、
とりあえずpythonbrew
のファイルを修正してお茶を濁しました。
で、具体的な修正箇所は、~/.pythonbrew/scripts/pythonbrew/installer.py
の line 226 の辺りの
code:_ else: s.check_call("make") s.check_call("make test")
の部分を、
else:
s.check_call("make")
# s.check_call("make test")
という感じでコメントアウトします。
これで修正は終わりです。
3. pythonbrew
を使って python2.5.5 をインストール
んで、これでpythonbrew
を使う環境は整ったので、今度はpythonbrew
を使ってpython-2.5.5
をインストールします。
何故python-2.5.5
なのか、というと、Google App Engine 用の環境を整えたかったからです。
というわけで、後は端末で、
$ pythonbrew install 2.5.5 --configure='--with-threads=no'
でインストールします。ちなみに Python の tar ball のREADME
呼んだら、
情報は古かったんですが、Cygwin ではthreads
を無効にしとけ、
みたいなことが書いてあったので、無効にしておきました。
それで、インストールが終わったら、あとは
$ pythonbrew switch 2.5.5
して端末を終了すれば、先ほどインストールしたpython-2.5.5
が使えるようになります。
4. 以上で終了です。
というわけで、Cygwin 環境でpythonbrew
を導入してpython-2.5.5
をインストールしたという話でした。
ちょっとした修正は必要だったけど、なんとか python の導入までできました。
まあこれでpython-2.5.5
の環境はできたので、あとは Google App Engine のアプリケーションを書くのに集中できます。
まあでも Google App Engine のアプリケーションはアイディアがいくつかあるわりには一つも形になってないので、 いつ完成するかはサッパリ分かりません>< というかみんな立ち消えになってるしね > GAE Application
というわけで、pythonbrew
の話でした。今度はrvm
でも試してみっかな。
#FIXME