mysql-python安装 _mysql.c:602: error: expected expression before ‘)’ token

本文解决了在CentOS上使用特定Python版本安装mysql-python时遇到的编译错误问题。通过调整_mysql.c文件中逗号的位置,使代码符合该Python版本的语法规范,成功完成编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在安装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行附近,找到下边的代码:


&local_infile,
#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT
&read_timeout
#endif

改为



&local_infile

#ifdef HAVE_MYSQL_OPT_READ_TIMEOUT

, &read_timeout



。。。就是将上面一个逗号挪下来,应当和python版本有点关系,有的python版本认为(aaa,bbb,ccc,) 最后一个逗号是合法的


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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值