_mysql.c:602: error: expected expression before ) token 解决办法

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

[root@centos01 MySQL-python-1.2.4b4]# python setup.py build
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-i686-2.4/MySQLdb
running build_ext
building '_mysql' extension
gcc -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 ‘)’ 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
))

return -1;

改为

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
))

return -1;

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

时间: 2024-11-17 06:00:23

_mysql.c:602: error: expected expression before ) token 解决办法的相关文章

CentOS6 X11提示Fatal server error:no screens found的解决办法

安装完CentOS-6.6-x86_64-minimal以后,再给它装个桌面,于是运行了yum groupinstall "Desktop",按理说,应该是桌面环境应该可以正常运行了.但当运行start命令时,却遇到了如下错误: Fatal server error: .......  no screens found (EE)  Please consult the CentOS support   at http://wiki.centos.org/Documentation  f

error LNK2005: XXX已经定义 解决办法

msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: void __thiscall std::_Mutex::_Lock(void)" (?_Lock@_Mutex@std@@QAEXXZ) 已经在 libcpmtd.lib(xmutex.obj) 中定义   好几百条 网上说   解决办法:保证需要链接的几个项目的运行时库使用同一个类型就OK了!例如我的工程中有GameCore.Plugin_D3D9RenderSystem.Plug

Centos编译Nginx错误configure: error: the HTTP rewrite module 解决办法

我们在编译Centos手工编译Nginx时候,会出现各种编译不通过的错误提示,一般情况下都是系统缺少组件造成的,我这里把平时遇到的错误提示都总结下: 一.错误提示./configure: error: the HTTP rewrite module requires the PCRE library 原因:PCRE组件没有安装 解决办法:安装pcre-devel yum -y install pcre-devel openssl openssl-devel 或者手工编译安装PCRE组件 cd /

MySQL ERROR 1045 (28000) 错误的解决办法_Mysql

错误现象: ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)  ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)  windows下,以上两个错误的解决方法,本人亲测有效,现分享解决方案如下:  1.找到配置文件my.ini  ,然后将其打开,可以选择用记事本打开.

mysql出现Error Code:1418 错误的解决办法

错误信息如下: 以下是引用片段:Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) (0 ms taken) 解决方法如下

mysql的Error Code:1418 错误的解决办法

Error Code : 1418 This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) (0 ms taken) 解决方法如下: 1. mysql> SET

PHP Parse Error: syntax error, unexpected $end 错误的解决办法_php技巧

这几天写php程序,感觉很多地方不如asp,asp.Net,jsp顺手,比如session使用先得session_start();,文件跳转header用的也不方便.... 也许是不熟悉的php的一些特性吧,不过写多了,也就慢慢适应将就了..... 这里就整理一个代码编写调试问题,错误如下: Parse error: syntax error, unexpected $end in D:\xampp\htdocs\guestBook\guestBook.php on line 330 看看程序

openssl报错 error: Cannot find OpenSSL s解决办法

解决办法 在CentOs系统中可以通过YUM来安装:  代码如下 复制代码 yum install openssl openssl-devel

thinkphp-SyntaxError: expected expression, got '<'

问题描述 SyntaxError: expected expression, got '<' 小白求助,firefox控制台总是报错"SyntaxError: expected expression, got '<' " PHP thinkPHP框架下的代码: js代码: 控制器代码: 解决方案 eval(xhr.responseText) ====>改为 eval('('+xhr.responseText+')') 解决方案二: Javascript SyntaxE