Python 2.6.6 をインストール
python のソースはここからダウンロードしてくる。なんで日本のページにリンクはないのかな?
[paraches@centos python26]$ wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz [paraches@centos python26]$ tar zxvf Python-2.6.6.tgz [paraches@centos python26]$ cd Python-2.6.6
で、オプション付けて configure する。
[paraches@centos Python-2.6.6]$ ./configure --with-threads --enable-shared
make の前に、zlib module を有効にするために Modules/Setup を修正。
修正内容は1カ所コメントを外すだけ。
[paraches@centos Python-2.6.6]$ cat Modules/Setup <省略> # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). # See http://www.gzip.org/zlib/ zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz <省略>
修正したら make & make install
[paraches@centos Python-2.6.6]$ make [paraches@centos Python-2.6.6]$ sudo make install
無事終了!
共有ライブラリの設定
インストールしたのでとりあえず起動すると…
[paraches@centos Python-2.6.6]$ /usr/local/bin/python /usr/local/bin/python: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory [paraches@centos Python-2.6.6]$ ls /usr/local/lib libatalk.a libid3tag.la libid3tag.so.0.3.0 mt-daapd libatalk.la libid3tag.so libpython2.6.so python2.6 libid3tag.a libid3tag.so.0 libpython2.6.so.1.0
と怒られる。共有ライブラリが見つからない!って。
前にも書いたけど、共有ライブラリの設定が必要。/etc/ld.so.conf.d/python2.6.conf を作ってそこにライブラリへのパスを書いて、ldconfig で登録。
[paraches@centos Python-2.6.6]$ sudo vi /etc/ld.so.conf.d/python2.6.conf [paraches@centos Python-2.6.6]$ cat /etc/ld.so.conf.d/python2.6.conf /usr/local/lib [paraches@centos Python-2.6.6]$ [paraches@centos Python-2.6.6]$ sudo /sbin/ldconfig [paraches@centos Python-2.6.6]$ /usr/local/bin/python Python 2.6.6 (r266:84292, Sep 25 2010, 17:37:19) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> quit() [paraches@centos Python-2.6.6]$
ちゃんとインストールした Python 2.6.6 が起動した!
Python 起動の設定
新しいバージョンをインストールした時にいつもどうしたら良いのか迷うのがここ。システムの色々が古いバージョンに依存してそうで、新しいバージョンにすると動かなくなっちゃうんじゃないか?って。安易に /usr/bin/python を /usr/local/bin/python にリンクしちゃってもダメだろうし…。
というわけで、まずは /usr/local/bin をパスへ加える。
これは .bash_profile で。
[paraches@centos ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/usr/local/bin export PATH [paraches@centos ~]$
で、alias で python を python2.6 にする。
これは .bashrc で。
[paraches@centos ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias python='python2.6' [paraches@centos ~]$
これで、python と入力すると、python2.6 になって /usr/local/bin の python2.6 が起動する。
[paraches@centos ~]$ python Python 2.6.6 (r266:84292, Sep 25 2010, 17:37:19) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> [paraches@centos ~]$
とりあえずはここまで。