`
yeluowuhen
  • 浏览: 151470 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

unix下安装MySQLdb

 
阅读更多

        首先,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,问题解决。

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics