其實說安裝也不太對,我在安裝 MySQL-python 時其實並沒有出錯,但是後來要執行 Django 時,卻會出現向這樣的錯誤:
/Users/adrian/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg-tmp/_mysql.so: mach-o, but wrong architecture
Google 了一下,發現果然也有不少人有同樣的問題。
重點就在"wrong architecture"阿~
重點就在"wrong architecture"阿~
因為我的 python 仍然是跑 2.6.4 32 bit 版本,然而新版的 XCode 在 compiler 時卻是預設用 64 bit 去編譯(ARCHFLAGS="-arch x86_64"),所以跑不起來似乎是理所當然的阿....
所以,要了解決這個問題,直接在 build 和 install MySQL-python 時下參數強制它以 32 bit 去 compiler 即可。指令如下:
> sudo ARCHFLAGS="-arch i386" CC=/usr/bin/gcc-4.0 python setup.py build
> sudo ARCHFLAGS="-arch i386" CC=/usr/bin/gcc-4.0 python setup.py install
這樣它就會正常的編譯啦~
註:在 Google 找解答時,發現有人說 MySQL 也必須要安裝 32 bit 版本的才行,所以我就一併把它換掉了,所以如果你安裝的是 64 bit 版的 MySQL,可以試試。