django - MySQL-python “error: command 'gcc' failed with exit status 1”错误
高洛峰
高洛峰 2017-04-17 13:14:26
[Python讨论组]

安装MySQL-python-1.2.3c1出现“error: command 'gcc' failed with exit status 1”错误
具体报错信息如下:

_mysql.c: 在文件层:
_mysql.c:2330: 错误:‘_mysql_ConnectionObject’没有名为‘open’的成员
_mysql.c:2337: 错误:‘_mysql_ConnectionObject’没有名为‘converter’的成员
_mysql.c:2344: 错误:‘_mysql_ConnectionObject’没有名为‘connection’的成员
_mysql.c:2351: 错误:‘_mysql_ConnectionObject’没有名为‘connection’的成员
_mysql.c:2358: 错误:‘_mysql_ConnectionObject’没有名为‘connection’的成员
_mysql.c:2421: 错误:‘_mysql_ResultObject’没有名为‘converter’的成员
_mysql.c:2421: 错误:初始值设定元素不是常量
_mysql.c:2421: 错误:(在‘_mysql_ResultObject_memberlist[0].offset’的初始化附近)
_mysql.c: 在函数‘_mysql_ConnectionObject_getattr’中:
_mysql.c:2443: 错误:‘_mysql_ConnectionObject’没有名为‘open’的成员
error: command 'gcc' failed with exit status 1

环境为:
系统版本:ORALCE_RHEL6
Python版本:2.7.8

Mysql-python的site.cfg文件内容如下:

[root@oracle MySQL-python-1.2.3c1]# cat site.cfg 
[options]
# embedded: link against the embedded server library
# threadsafe: use the threadsafe client
# static: link against a static library (probably required for embedded)

embedded = False
threadsafe = False 
static = False

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config =/usr/bin/mysql_config

# The Windows registry key for MySQL.
# This has to be set for Windows builds to work.
# Only change this if you have a different version.
registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0

已经安装:

[root@oracle Packages]# rpm -ivh python-devel-2.6.6-51.el6.i686.rpm 
Preparing...                ########################################### [100%]
   1:python-devel           ########################################### [100%]
[root@oracle Packages]# rpm -ivh MySQL-python-1.2.3-0.3.c1.1.el6.i686.rpm 
Preparing...                ########################################### [100%]
   1:MySQL-python           ########################################### [100%]

还是存在error: command 'gcc' failed with exit status 1

现在应该如何解决呢?

——————
最后还是被我自己解决了,在windows下已经安装过MySQLdb了,但是在linux下安装不成功,很懊恼。
现在写下解决方法(还是走了很多弯路,好年轻啊!!!):
安装所有的依赖:

yum install python-devel mysql-devel zlib-devel openssl-devel

下载:MySQL-python-1.2.3.tar.gz
windows版本MySQL-python-1.2.3.win32-py2.7
解压,并安装即可。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
高洛峰
  • 确定安装了 gcc
  • 确定安装了 mysql
  • 确定安装了 python-devel
  • 使用 easy_install pip 源码 setup 都试试

报错信息,好像是 python-mysql 指向的系统 mysql 有误。实在不行,可以使用 mysql 官方的 python驱动 mysql-connector-python 代替 mysql-python

迷茫

强烈建议使用mysql官方的Connector/Python
http://dev.mysql.com/downloads/connector/python/?os=31

早点抛弃MySQL-python早享受。

伊谢尔伦

安装mysql-devel

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号