最近換了macbook pro,搭建python開發環境的時候需要裝MySQLdb-python(一個常用的python mysql驅動庫),由於snow leopard默認是64位導致裝一些軟件沒有在linux下那麼順利..這個MySQLdb就折騰了半天.
一開始,直接用 $sudo easy_install mysql-python安裝過程無任何異常,但在python shell中>import MySQLdb時出現如下異常:
ImportError: dlopen(/Users/laixian/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): no suitable p_w_picpath found. Did find:/Users/laixian/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so: mach-o, but wrong architecture
發現我最開始裝的mysql是32-bit的,又重新下載了x86_64的dmg重新安裝mysql。
此時,直接把site-packages/下面關於MySQLdb的文件夾全部刪掉. 再重新安裝一次MySQLdb,如下:
$ sudo rm -r /Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-*
$ sudo easy_install mysql-python
再次進入python shell>import MySQLdb,依然異常,信息大致如下:
ImportError: dlopen(/Users/laixian/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
此時只需要設置一個環境變量即可:
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
再次嘗試python> import MySQLdb, 搞定.