在OS X下安装MySQL-python

在OS X安装MySQL-python尝试了很多方法, * 通过python install; * easy_install; * pip install; 等这些方法,基本都在_mysql.c大概在1563行左右卡主

if (how < 0 || how >= sizeof(row_converters)) {
		PyErr_SetString(PyExc_ValueError, "how out of range");
		return NULL;
	}

搜了很多方法,都解决不了,最后通过

sudo ARCHFLAGS='-arch x86_64' python setup.py build
sudo ARCHFLAGS='-arch x86_64' python setup.py install

解决了。

补充:通过MysqlDB-python安装包去安装,可能会碰到以下问题

关于_mysql.c:602: error: expected expression before ‘)’ token 的问题

主要是

&local_infile,
#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT
	&read_timeout
#endif

在判断的时候,需要把前一个逗号放到if判断中去,类似这样

&local_infile
#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT
	,&read_timeout
#endif

修改下_mysql.c源码就可以了。