代码改变世界

MAC OS中安装MySQLdb-python的问题解决记录.

2011-05-14 13:58  码农.KEN  阅读(1653)  评论(0编辑  收藏  举报

最近换了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 image 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, 搞定.