Heim > Datenbank > MySQL-Tutorial > RedHat上安装MySQLdb

RedHat上安装MySQLdb

WBOY
Freigeben: 2016-06-07 16:57:22
Original
895 Leute haben es durchsucht

本来感觉应该很简单顺利的一件事情,在实际过程中却遇到了很多麻烦,对于一个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方法连接一个数据库就知道到底好不好使了!

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage