2009年8月14日金曜日

OSX10.5のPythonでMySQLを使えるようにする

仕事でDjangoを使うことになり、自宅のMacBookにも環境を作ろうとしてMySQLdbのインストールで大変ハマったのでメモしておきます。

なお、PythonはOSプリインストールのもの(2.5.1)、MySQLはMAMPでインストールされるものを使うのですが、実はこの「MAMPでインストールされるMySQL」を使っているために色々面倒だったのでした > <

まずはMySQLdbをダウンロード(私が使ったのはMySQL-python-1.2.3c1)してきて普通に

$ sudo python setup.py build

山のようにエラーが出ます orz...

これはMAMPでインストールされるMySQLにはコンパイルに必要なヘッダファイルがまったく付属していないからです。
そこでMySQLのダウンロードサイトからMAMP付属のMySQLと同じバージョンのMySQL(私の場合は5.0.41)をダウンロードし、同梱されているヘッダファイルを/Applications/MAMP/Library/include/mysqlにコピーします。

さらにMAMPですから普通とはMySQLがインストールされている位置がまったく違うので、シンボリックリンクを作ってごまかします。

sudo mkdir /usr/local/mysql
sudo mkdir /usr/local/mysql/lib
sudo ln -s /Applications/MAMP/Library/lib/mysql /usr/local/mysql/lib/mysql

さらにMySQLdbのsite.cfgの下記の箇所も修正します。

#mysql_config = /usr/local/bin/mysql_config
mysql_config = /Applications/MAMP/Library/bin/mysql_config

そして再度

$ sudo python setup.py build

まだエラー orz... こんどはライブラリがないだと。。。

仕方がないので若干強引かとは思ったんですが、先にダウンロードしたMySQLに同梱されているライブラリ群を/Applications/MAMP/Library/lib/mysqlに全てコピーしちゃいました。

そして再度

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

ようやくインストール出来ました。めでたしめでたし^^

$ python
>>> import MySQLdb
>>>

おおお、エラー出ないぞ!w

Template Design: © 2007 Envy Inc.