RedHat上安装MySQLdb


本来感觉应该很简单顺利的一件事情,在实际过程中却遇到了很多麻烦,对于一个linux新手来说,非常容易就被卡住,所以干脆给记下来吧,这样每天才能都进步一点!

手头上有一个现成的MySQL-python-1.2.3版本,算是比较新的,而且机器上的python还是2.4的,觉得有点老了,于是就想着升级一下python,刚好也有个python2.5版本的源码包,于是就开始升级。具体命令是:

升级python

tar zxvf python2.5.4.tar.gz

cd python2.5.4

./configure

make

make install

检查python的版本

执行python -V

奇怪,竟然还是显示2.4.3,经查询,这是因为直接执行python命令,执行的是usr/bin/python,这实际上是python2.4.3的一个硬连接,那将其修改成python2.5.4的硬连接不就行了?于是执行:

修改默认的python版本

ln -s /usr/bin/python2.5 /usr/bin/python

再次执行python -V,提示正确,说明升级成功,另外个人感觉还是使用源码包安装比较放心,尽管时间是稍微长了一点。

下面开始安装MySQLdb,按照README,先执行python setup.py build,发现各种错误,后来查了一下,应该先执行python ez_setup.py,会自动下载一个安装工具。本来这一步是对的,但是提示说找不到zlib,错误信息如下:

zipimport.ZipImportError: can't decompress data; zlib not available

奶奶的,真是麻烦啊,于是下载一个zlib的源码包安装。注意,一定要在安装完zlib之后,重新编译python!!!!

接着执行,python setup.py build,又提示找不到mysql.h等头文件,在另一篇博文里,介绍了解决方法,就是下载一个mysql-devel....rpm包,安装之后在/usr/include/mysql里就有这些需要的头文件了。但是偏偏不巧,机器上已经有了一个mysql的5.0.7版本,我下载的devel包是5.1.4版本,执行rpm -ivh mysql-devel...rpm之后提示版本冲突,于是想到将mysql卸载,于是执行:

卸载旧版本的msyql

rpm -qa|grep mysql

执行

rpm -ev qt-msyql-.....

rpm -ev mysql-5.0.7.....

卸载完毕

安装完新版本的msyql-devel包后,头文件已经有了,再次安装MySQLdb:

安装MySQLdb模块

python setup.y build

python setup.py install

很顺利

检测MySQLdb

进入python,执行import MySQLdb,提示无误就OK了,有时会提示一堆乱七八糟的话,没关系,如果不放心,执行MySQLdb的Connection方法连接一个数据库就知道到底好不好使了!

相关内容