ServersMan@VPS(CentOS5)にPython2.6をインストール

ServersMan@VPS(CentOS5)に入ってるPythonが2.4と古い、今時2.4はキツイよ…。
てなわけでPython2.6を新しくインストールしてみるよ。

zlibをインストール

easy_installでzlibが必要になるから、予めzlib-develをインストールしておく。

# sudo yum install zlib-devel

Python2.6をインストール

ソースコードをダウンロードして、configureを実行。

$ wget http://python.org/ftp/python/2.6/Python-2.6.tgz$ tar -zxvf Python-2.6.tgz
$ cd Python-2.6
$ ./configure --enable-shared  # --enabled-sharedはmod_wsgi等で必要

Modules/Setupのzlibのコメントアウトを外す。

$ vim Modules/Setup
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

あとはmake!make install!

$ make
$ sudo make install

soファイルをパスの通っている場所に移動。

$ sudo cp libpython2.6.so libpython2.6.so.1.0 /usr/lib/

configureで--prefixを指定するかどうか迷ったけど
被るのはbinくらいで、lib・includeはバージョン毎にディレクトリが分かれるので気にしない、入れちゃえ、入れちゃえ。
binで被るのがイヤならmake installの代わりにmake altinstallを使うとよろし。python26という名前でインストールされるよ。

sitecustomize.pyでデフォルトエンコーディングを設定

/usr/local/lib/python2.6/site-packages/sitecustomize.pyを追加。

import sys
sys.setdefaultencoding('utf-8')

easy_installを再インストール

このままではeasy_installは古いpythonで実行されてしまうので再インストール。
ez_setup.pyは新しくインストールしたpythonで実行する。

$ wget http://peak.telecommunity.com/dist/ez_setup.py
# sudo python ez_setup.py

まとめ

インストールした後にvirtual-python使えばよかったんじゃとか思ったけど、まぁいいか。
2.4でインストールしたライブラリも入れ直し、ちゃんと動いている模様。めでたし、めでたし。