SUGI製作所

音楽機材やスマホアプリ開発のネタが中心です。

CentOS5.8にPython2.7.3をインストール

python2.7を新たにインストールする場合の導入手順です。
gcc等はインストール済みの前提で。

ソース保存先へ移動

#cd /usr/tmp

ソースをダウンロード・展開
#wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
#tar -xvzf Python-2.7.3.tgz
#cd Python-2.7.3

インストール(prefixに指定したディレクトリにインストールされる)
#./configure --prefix=/opt/python2.7 --enable-shared
#make

INFO: Can't locate Tcl/Tk libs and/or headers
Python build finished, but the necessary bits to build these modules were not found:
_bsddb _sqlite3 _tkinter
bsddb185 bz2 dl
imageop sunaudiodev


モジュールが足りないらしい。
大体1回ではうまくいかないものさ、ということで足りないものをインストール
環境によっては他にも必要なモジュールがあると思います。
その時は適当に追加して下さい。
#sudo yum install -y tk-devel tcl-devel sqlite-devel bzip2-devel
#make
Failed to build these modules:
_sqlite3

なぜか_sqlite3のエラー
sqliteはインストール済みだけどyumで入るものはバージョンが古いっぽい、sqliteは使わないのでとりあえず無視。
使うのであれば新しいバージョンをソースからインストールする。
他も下記理由により無視。
(imageopは2.6で撤廃、3.0で削除→いらん、
bsddbはBerkeley DB ライブラリへのインタフェース→いらん、
sunaudiodev→名前からしていらん、
dlは共有オブジェクトのC関数の呼び出し 2.6で撤廃、3.0で削除→いらん)
#sudo make install
確認
#/opt/python2.7/bin/python -V
/opt/python2.7/bin/python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

オブジェクトがないのでシンボリックリンクを作成
#sudo ln -s /opt/python2.7/lib/libpython2.7.so.1.0 /usr/lib/libpython2.7.so.1.0

もう一度確認
#/opt/python2.7/bin/python -V
Python 2.7.3

やったぜカトちゃん!

上記のシンボリックリンクを作成しないやり方(かな?)
共用ライブラリのパス設定↓

#sudo vi /etc/ld.so.conf.d/python-2.7.3.conf
/opt/local/python-2.7/lib
#sudo /sbin/ldconfig

OKなので.bashrcに追加
#cd
#vi .bashrc
export PYTHONPATH=/opt/python2.7/lib/python2.7/site-packages/
export PATH=/opt/python2.7/bin:$PATH
#source .bashrc
#python -v
python 2.7.3

OK!