_mysql.c:602: error: expected expression before ‘)

在安装mysql-python的时候遇到这么个问题:

[root@centos01 MySQL-python-1.2.4b4]# python setup.py buildrunning buildrunning build_pycopying MySQLdb/release.py -> build/lib.linux-i686-2.4/MySQLdbrunning build_extbuilding '_mysql' extensiongcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-siz                                      e=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.                                      2.4b4 -I/usr/local/mysql/include/mysql -I/usr/include/python2.4 -c _mysql.c -o build/temp.linux-i686-2.4/_mysql.o -g -DUNIV_LINUX_mysql.c: In function ‘_mysql_ConnectionObject_Initialize’:_mysql.c:602: error: expected expression before ‘)’ tokenerror: 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”,#endifkwlist,&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))

return -1;

改为

if (!PyArg_ParseTupleAndKeywords(args, kwargs,#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT”|ssssisOiiisssiOii:connect”,#else”|ssssisOiiisssiOi:connect”,#endifkwlist,&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))

return -1;

再重新执行 python setup.py build 就OK了

声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权转载请注明来源:小景的博客本文链接地址:http://www.phpv5.com/blog/mysqlpython-setup-error 怎么能研究出炸药呢?爱迪生不经历上千次的来自失败,怎么能发明电灯呢

_mysql.c:602: error: expected expression before ‘)

相关文章:

你感兴趣的文章:

标签云: