linux 安装MySQL-python奇异的bug

CentOS下MySQL-Python安装
本文记录了在CentOS 6.3环境下,将MySQL升级到5.6.1并成功安装MySQL-Python的过程。文章详细介绍了如何解决安装过程中遇到的依赖问题,包括设置路径、编译配置等。

本想在linux下安装一个mysqldb,用来让python能读写mysql,然后就遇到了一路的bug,在此和大家分享一下

系统环境

1.我买的是阿里云服务器(centos6.3),

2.机器本身自带了mysql,但是觉得mysql版本太低(自我感觉,不要吐槽),于是我就把mysql升级到5.6.1

3.python默认用的是2.6.6

安装

1.本想用yum来安装MySQL-python,结果,看中间带有mysql5.1的,于是我就放弃了,从这里开始了我的噩梦大哭

我先去用wget http://sourceforge.net/projects/mysql-python/files/latest/download 下载了,最新的mysql-python

解压tar zxf MySQL-python-1.2.4b4.tar.gz

进入目录

2.python setup.py build 编译(注:有的网上到这一步就结束了,我就想,只是编译了,不安装怎么用,),

这个时候,有可能需要装setuptool,gcc,如果提示找不到类似mysqlclient的提示

大家可以执行

ln -s /usr/lib64/mysql/libmysqlclient.a /usr/lib/libmysqlclient.a
ln -s /usr/lib64/mysql/libmysqlclient_r.a /usr/lib/libmysqlclient_r.a

具体原因我也不是很清楚,其实如果能把默认目录换到/usr/lib64下,最好了

至于threadsafe也不用改成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

把mysql_config这个目录换一下,可以用whereis mysq_config查找的大笑


python setup.py install(还是需要这一步的,大家不要忘记了)


3.如果提示

如果提示这个的话,大家不用怕,我也从这里跌倒的

经查得知是由于编译Python所用的编译器与编译MySQL-python所用编译器不同所致。
用g++重新编译_mysql.so即可

如果发现你的机器没有g++或者用yum install g++不行的情况下

你需要yum install gcc-c++ libstdc++-devel这个就可以了

首先要进入mysql-python的build目录里,我的是2.6,你要根据自己的改一下

 g++ -pthread -shared ./temp.linux-x86_64-2.6/_mysql.o -L/usr/lib64 -l mysqlclient_r -lpthread -lm -lrt -ldl -o ./lib.linux-x86_64-2.6/_mysql.so

然后重新编译就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值