CentOS5にDjangoをインストール

CentOS 5.1 に Django version 0.97-pre-SVN-unknown を入れた際の備忘録。

# とりあえず MySQL-pythonを取得しておく。
$ sudo yum install MySQL-python

Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 MySQL-python            i386       1.2.1-1          base               82 k
Installing for dependencies:
 mx                      i386       2.0.6-2.2.2      base              558 k

# djangosvnから取得
$ svn checkout http://code.djangoproject.com/svn/django/trunk

# インストールするディレクトリを作る
$ mkdir -p /usr/local/django/django-svn

# インストール
$ cd trunk
$ python ./setup.py install --prefix=/usr/local/django/django-svn

# シンボリックリンクを作成
$ sudo ln -s /usr/local/django/django-svn /usr/local/django/django

# .bashrcに以下をセット
$ export PATH=/usr/local/django/django/bin:$PATH
$ export \
PYTHONPATH=/usr/local/django/django/lib/python2.4/site-packages:$PYTHONPATH

$ source .bashrc

インストール終了。
よしさっそく使うかと、syncdbすると、、、

# python manage.py syncdb

django.core.exceptions.ImproperlyConfigured: MySQLdb-1.2.1p2 or newer is required; you have 1.2.1

MySQL-pythonが、1.2.1じゃ古すぎるから、新しいの使えと怒られたらしい。

$ sudo yum remove MySQL-python
仕方ないので、yumでインストールしたものを消しておく。

# MySQL-python-1.2.2 をダウンロードして、インストール

$ python setup.py build
pymemcompat.h:10:20: error: Python.h: そのようなファイルやディレクトリはありません
_mysql.c:30:26: error: structmember.h: そのようなファイルやディレクトリはありません
_mysql.c:35:23: error: my_config.h: そのようなファイルやディレクトリはありません
_mysql.c:40:19: error: mysql.h: そのようなファイルやディレクトリはありません
_mysql.c:41:26: error: mysqld_error.h: そのようなファイルやディレクトリはありません
_mysql.c:42:20: error: errmsg.h: そのようなファイルやディレクトリはありません
:

見事にエラー祭。。。色々不足しているらしい。

とりあえず、mysql-devel, python-develをいれてみる。

$ sudo yum install mysql-devel
$ sudo yum install python-devel
Error: python-devel conflicts with python < 2.4.3-21.el5
うぅん。依存関係でうまくいかない。。。
なぜだ。。。conflictsの理由がわからない。

とりあえず、以下を実行。
# sudo rpm -e --justdb --nodeps python-2.4.3-21.el5
# sudo yum update python python-devel

うまくいったみたい。

あらためて、MySQL-python-1.2.2 のインストール

# cd MySQL-python-1.2.2
# python setup.py build
# sudo python setup.py install
無事終了。

# python manage.py syncdb

よし動いた。終了。