OSXでのDjangoにMySQLdb 1.2.2を入れる

随分前にDjango入れて放置していたのだが、
先日、Django×Pythonを買ったついでに、色々とやってみている。

この本ではSQLLiteを使って色々やってるんだが、それはツマランのでMySQLを使ってみようかと。普通に設定すると、MySQLdbがないと言われてしまったので、じゃぁ、入れようかと。当然、普通に入らなかった。以下設定にてインストール。


その1 取ってくる
 http://sourceforge.net/project/showfiles.php?group_id=22307
 から、MySQLdb 1.2.2を取ってくる。


その2 解凍する
 適当な場所で

 tar xzvf MySQL-python-1.2.2.tar.gz

その3 Cleanする
 解凍後、ディレクトリを中に移動し、
 一応基本なのでcleanする(sudoいるかも)

 python setup.py clean


その4 コードをちょっとだけ書き換える
 Buildしようとすると uint ってなんじゃ?って言われるので
 _mysql.cの以下の部分を削除

#ifndef uint
#define uint unsight int
#end if

さらに

uint port = MYSQL_PORT
uint client_flag = 0

unsigned int port = MYSQL_PORT
unsigned int client_flag = 0

としておく。


その5 パスがちょっとおかしいのでリンクでなんとかする
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
として、setup_posix.py の以下の

mysql_config.path = "mysql_config"

mysql_config.path = "/usr/local/mysql/bin/mysql_config"

とする。


その6 buildしてinstallする

 sudo python setup.py build
 sudo python setup.py install

おしまい。
インタプリタからimport MySQLdbとして、うまくいったか確認できます。