首先,MySQLdb需要mysql的客户端,确保你的环境中存在mysql_config,可以通过 yum install mysql-devel来安装,然后确保mysql_config在路径中可以被找到(通过find / -name mysql_config查看)。
然后下载MySQL-python-1.2.4b4,解压后进入主目录进行安装,运行以下命令:python setup.py build及
python setup.py install, 如果无报错,运行python,引入import MySQLdb查看是否报错。如果无即安装顺利。
在install过程中,如果遇到_mysql.c: In function ‘_mysql_ConnectionObject_Initialize’:
_mysql.c:602: error: expected expression before ‘)’ token
error: command 'gcc' failed with exit status 1,需要修改一下_mysql.c的源代码,在602行附近,找到以下代码:
if (!PyArg_ParseTupleAndKeywords(args, kwargs, #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT "|ssssisOiiisssiOii:connect", #else "|ssssisOiiisssiOi:connect", #endif kwlist, &host, &user, &passwd, &db, &port, &unix_socket, &conv, &connect_timeout, &compress, &named_pipe, &init_command, &read_default_file, &read_default_group, &client_flag, &ssl, &local_infile, #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT &read_timeout #endif ))
替换为:
if (!PyArg_ParseTupleAndKeywords(args, kwargs, #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT "|ssssisOiiisssiOii:connect", #else "|ssssisOiiisssiOi:connect", #endif kwlist, &host, &user, &passwd, &db, &port, &unix_socket, &conv, &connect_timeout, &compress, &named_pipe, &init_command, &read_default_file, &read_default_group, &client_flag, &ssl, &local_infile #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT , &read_timeout #endif ))
即倒数第五行&local_infile之后的逗号改为倒数第二行的起始处。再次运行python setup.py build,问题解决。