CentOS5.3にPython2.6でDjango1.1の開発環境を作成する
CentOSではPythonが2.4と少々古いが、システムでPythonに依存している箇所が多くデフォルトのPythonを置き換えるのは好ましくない。
そこで/opt/python2.6にソースからインストールし、Djangoで開発が出来る所までの手順メモ。
準備 - yum
sudo yum install zlib zlib-devel sqlite-devel
- zlibはsetuptoolsのインストールで必要となる。
- sqlite3-develをインストールしておかないと、Python2.6のコンパイル時にsqlite3が使えるようにならない
Pythonのダウンロードとインストール
$ wget http://python.org/ftp/python/2.6.2/Python-2.6.2.tgz
$ tar xvfz Python-2.6.2.tgz
$ cd Python-2.6.2
後は、./configure / make / make install の手順でインストールする。
$ ./configure --prefix=/opt/python2.6 --with-threads --enable-shared
- インストールするパスを/opt/python2.6に指定
- ダイナミックリンクライブラリとする
デフォルトではzlibに対応していないため、Modules/Setupを修正。
$ vi Modules/Setup # 次の行のコメントを外す zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
後はmakeしてインストールすればOK
$ make $ sudo make install
共有ライブラリのパスを追加する
$ vi /etc/ld.so.conf.d/opt-python2.6.conf
次の1行を記述
/opt/python2.6/lib
反映
$ sudo /sbin/ldconfig
開発ユーザのpythonコマンドをPython2.6にする
とりあえず、シンボリックリンクを作成しておく
$ sudo ln -s /opt/python2.6/bin/python /usr/bin/python2.6
.bash_profileでパスに追加
PATH=$PATH:$HOME/bin:/opt/python2.6/bin/
.bashrcを修正し、aliasを設定
alias python='python2.6'
動作確認
$ source ~/.bash_profile $ source ~/.bashrc $ python2.6 -V Python 2.6.2 $ python Python 2.6.2 (r262:71600, Sep 6 2009, 20:30:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3
sqlite3でインポートのエラーが発生する場合は、sqlite3-develをインストールしてmakeしなおすこと。
Seuptoolsのインストール
$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c9-py2.6.egg
$ sudo sh setuptools-0.6c9-py2.6.egg --prefix=/opt/python2.6
zlibエラーの場合は、zlib-develをインストールしてmakeしなおすこと。
Django のインストール
$ sudo easy_install Django
最終確認
$ django-admin.py --version
1.1