RedHat上安装MySQLdb
本来感觉应该很简单顺利的一件事情,在实际过程中却遇到了很多麻烦,对于一个linux新手来说,非常容易就被卡住,所以干脆给记下来
本来感觉应该很简单顺利的一件事情,在实际过程中却遇到了很多麻烦,对于一个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方法连接一个数据库就知道到底好不好使了!
下一篇: php新手-环境配置问题