在Linux下使用Python访问MySQL的方法之一是使用MySQLdb module,下面将介绍在Linux下如何安装MySQLdb的过程。
(1)下载MySQLdb
从SourceForge.net上下载最新的MySQLdb,http://sourceforge.net/projects/mysql-python/ ,
解压到当前目录
tar -zxvf MySQL-python-1.2.3
在MySQL-python-1.2.3文件夹中,我们可以先查看README,其中,介绍了详细的安装方法:
$ tar xfz MySQL-python-1.2.1.tar.gz
$ cd MySQL-python-1.2.1
$ # edit site.cfg if necessary
$ python setup.py build
$ sudo python setup.py install # or su first
不过,在这里我们需要注意,安装MySQLdb的一些前提条件,需要Python 2.3.4 or higher,setuptools,MySQL 3.23.32 or higher,zlib,openssl和 C compiler,所以,在进行上述的安装过程之前,我们先把以上的工作安装好。
(2)安装setuptools
从http://pypi.python.org/pypi/setuptools 上下载与python版本相符合的egg,假设我们使用是python 2.4,那么,我们就下载setuptools-0.6c11-py2.4.egg
给egg赋予可以执行的权限
chmod +x setuptools-0.6c11-py2.4.egg
使用shell命令运行egg
sh ./ setuptools-0.6c11-py2.4.egg
安装完成即可
(3)安装MySQL
从http://www.mysql.com/downloads/mysql/ 上下载与你的OS相符合的mysql版本,需要强调的是,我们需要使用devel版本的MySQL。
假设下载的是 MySQL-devel-5.5.8-1.rhel5.i386.rpm
安装rpm包
rpm -ivh MySQL-devel-5.5.8-1.rhel5.i386.rpm
默认安装在/usr/bin下,你可以在/usr/bin下发现如下文件
[root@********]# ls /usr/bin/ | grep "mysql"
msql2mysql
mysql
mysqlaccess
mysqlaccess.conf
mysqladmin
mysqlbinlog
mysqlcheck
mysql_config
mysqldump
mysql_find_rows
mysqlimport
mysqlshow
mysqlslap
mysql_waitpid
其中,mysql_config位置需要在MySQLdb目录下的site.cfg文件中重新设置
cd MySQL-python-1.2.3
vim site.cfg
修改如下内容:
# 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
保存,退出。
此时,如果使用python setup.py build编译,有可能会出现如下错误:
unable to execute gcc: No such file or directory
error: command 'gcc' failed with exit status 1
说明当前系统中还没有安装适当的编译器,我们继续安装GCC。
(4)安装GCC