许多人都推荐Mac电脑,说高效,打算这台电脑性能跟不上的时候买台RMBP,以前用过一段时间朋友的Mac电脑,很难用,现在想着以后要换,就现在Vmware里安装Mac OS吧,熟悉一下。
今天因为学习python,需要和数据库交互,就打算在Mac OS下安装一下MySQL,安装这个比较顺利,但是Mac自带的python没有MySQLdb,需要重新安装,遇到了很多麻烦,总结记录一下。
安装python-mysqldb有两种方法:
1、联网下载,使用sudo easy_install mysql-python命令安装,但是基本上不会成功的,原因有两个:一是找不到mysql_config位置,二是现在基本上安装的是64位的系统和64位的python,和默认的32位安装包冲突。我在尝试的时候是找不到mysql_config位置。
2、手动安装,去http://sourceforge.net/projects/mysql-python/files/下载,解压后修改site.cfg:将mysql_config注释取消并将路径更改为mysql安装路径: [sourcecode language=”Python”] mysql_config = /usr/local/mysql/bin/mysql_config [/sourcecode]
然后执行 [sourcecode language=”Python”] python setup.py install [/sourcecode]
但是报错,
此时安装没有报错,但是执行
python
进入python环境执行 [sourcecode language=”Python”] import MySQLdb [/sourcecode] 报以下错误:
Traceback (most recent call last):
File "./b", line 26, in
import MySQLdb
File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/__init__.py", line 19, in
import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): no suitable image found. Did find:
/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so: mach-o, but wrong architecture
解决方法是:需要解决动态引入的问题了(重新做一遍,重新编译) [sourcecode language=”Python”] python setup.py clean sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future python setup.py build sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future python setup.py install [/sourcecode]
终端进python
[sourcecode language=”Python”]
import MySQLdb
[/sourcecode]
还会报一个错误,
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
然后就好了

