CentOS5にpython2.6を一般ユーザでいい感じにインストールしてみた

所用で python を使う機会があったので、初めてまともに環境準備してみた。CentOS5 系の python は 2.4 系とだいぶ古いので、モダンなスクリプトとか WAF を使うならもうちょっと新しいのが欲しい。というわけで 2.6 をビルドした。システムワイドに入れるのも何なので、一般ユーザのみで完結させた(除くyum)。大体以下の記事の通り。

build の前に

python は意外とライブラリ必要で、結局必要十分が分かってないんだけど、記事にあるやつはとりあえず入れてみた。

# yum install gcc gdbm-devel readline-devel ncurses-devel zlib-devel bzip2-devel sqlite-devel db4-devel openssl-devel tk-devel bluez-libs-devel

build

$HOME/pythonに試しに入れる。複数バージョン入れるなら適当に名前切った方がいい気がする。但しPATHとかは通さない。system にもpython入ってるのでそれを上書きするのはなんとなくやりたくないので。

$ mkdir $HOME/python $HOME/work
$ cd $HOME/work
$ wget http://www.python.org/ftp/python/2.6.8/Python-2.6.8.tgz
$ tar xvf Python-2.6.8.tgz
$ cd Python-2.6.8
$ ./configure --prefix=$HOME/python/
$ make -j 10
$ make install
$ $HOME/python/bin/python -V
Python 2.6.8

setuptools & virtualenv & virtualenvwrapper

easy_installすら無いので入れる。この間一時的に$PATH通す。

$ $HOME/work
$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086
$ export PATH=$HOME/python/bin:"$PATH"
$ sh setuptools-0.6c11-py2.6.egg
$ easy_install viatualenv
$ easy_install virtualenvwrapper

virtualenvwrapper 用の設定

virtualenvwrapperを読んでたらよくできてて、環境変数いくつか設定すれば$PATHが不要だった。

$ vi $HOME/.bashrc
export VIRTUALENVWRAPPER_PYTHON=$HOME/python/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=$HOME/python/bin/virtualenv
export VIRTUALENVWRAPPER_VIRTUALENV_CLONE=$HOME/python/bin/virtualenv-clone
source $HOME/python/bin/virtualenvwrapper.sh
$ exit

あとはこれでログインし直せばvirtualenvwrapperが使える。

$ mkvirtualenv test
$ workon test
(test)$ pip install ...

おわりに

virtualenvvirtualenvwrapperすばらしいなぁと思いました。他の LL でもこういう感じで管理したい。

ちなみにまだ python は全く書いてない。

  • 山岸和利 12-08-13 (月) 10:16

    重箱の隅をつつくようで本当に申し訣ないのですが、現在は Python 2.6 は公式でサポートされておらずソースから入れるメリットはないように感じます。

    - http://www.python.org/download/

    から入手することのできる Python 2.7.3 を使うべきであるとおもいます。

  • riywo 12-08-19 (日) 23:30

    理解してますー。
    入れようとしてたアプリがとりあえず Python2.6 で開発されてたので
    バージョン合わせたかった次第です。