June 7, 2011

CentOS5におけるPython2.6の導入

CentOS5(RHEL5)のPythonは2.4系で色々辛いのでPython2.6を導入する。
CentOS6になればPython2.6系になるのだけど…

迂闊な事をするとpythonをつかっているスクリプトに影響を与える可能性があるので注意。
可能性の中で一番辛いのはyumが死ぬこと。
要は現状のpython(/usr/bin/pythonと/usr/lib/python2.4以下)を傷つけなければ問題ない。
DLして解凍
# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tgz
# tar zxvf Python-2.6.7.tgz 
# cd Python-2.6.7
Modules/Setup.dist内のzlibに関するコメントアウトを解除する
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
↓
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
CheckInstallでrpm化して導入、libを登録
# ./configure --enable-shared
# make
# checkinstall
# rpm -ihv /usr/src/redhat/RPMS/x86_64/Python-2.6.7-1.x86_64.rpm 
# echo "/usr/local/lib" > /etc/ld.so.conf.d/python2.6.conf
# ldconfig
で、旧来のpython(/usr/bin/python)とは別に新しいpython(/usr/local/bin/python)が導入された。
PATHの設定にもよるが、デフォルトでは/usr/local/binが先に書かれているはずなので、
コマンドラインでpythonとだけ指定すると新しい方が呼ばれるはず。
最後にeasy_installが2.4系にしか入っていないので、新たに入れ直す。
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
これでeasy_installが2.6系でも使えるようになった。
と、ここまで書いてeasy_install自体もpacoで管理すれば良かったことに気がつくもときすでに遅し…
pacoって"make install"にあたる部位で-オプションをつけると
pacoへのオプションだと認識されてしまうようでにっちもさっちも!まぁいいか…
で、最後に便利系を入れておく。
# paco -p pip easy_install pip
# paco -p virtualenv easy_install virtualenv
# paco -p virtualenvwrapper easy_install virtualenvwrapper
以上

No comments:

Post a Comment