MySQL-Pythonのインストールにはまった件
はまった事を思い出しながら書いておく。
iMac上にPythonの開発環境を構築していて、MySQLにアクセスするための「MySQL-Python」をインストールしようとしたら、派手にエラーが出てインストールできなかったの時の対処法メモ
インストール
pip install MySQL-Python
エラー
エラーはこんな感じ(全部乗っけるとアレなので一部のみ)
/usr/local/Cellar/mysql/5.5.10/include/my_config.h:326:1: warning: "SIZEOF_SIZE_T" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:9, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pymacconfig.h:33:1: warning: this is the location of the previous definition In file included from _mysql.c:36: /usr/local/Cellar/mysql/5.5.10/include/my_config.h:419:1: warning: "HAVE_WCSCOLL" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition lipo: can't open input file: /var/folders/Ko/KoClnHHMHSanvYF+kBpsrE+++TI/-Tmp-//ccq4rw72.out (No such file or directory) error: command 'gcc-4.2' failed with exit status 1
対処
結構理由がわからなくて、ソースからビルドしたり、homebrewを疑ってみたり、gccを疑ってみたり、mysql_configの設置場所とか疑ってみたりした結果、どうにかこうにか下記URLにたどり着いた。
どうやら、最近のiMacは、標準で64bitモードで起動するようになったのが原因らしい。
64bitモードでSnowLeopardが起動しているのに、MySQL-Pythonは32bitモードを前提としてインストールしようとするからこんなエラーが出るっぽい。。。
なので、ソースからビルドする際に、こんな感じで、64bitモードでbuildしてねと宣言したら、無事インストールする事ができました。
ARCHFLAGS='-arch x86_64' python setup.py build ARCHFLAGS='-arch x86_64' python setup.py install
ちなみにMySQL-Pythonのソースはココから落としてきました。
余談
余談的な事を書くと、同時期に購入した Macbook Air ではこのようなエラーはでなかった、Macbook Air は 32bitモードで起動しているらしい。自分で64bitモードで起動させている人は同じような現象に遭遇するかもしれません。
以上終わり。