[Python]在cygwin下编译MySQLdb for python


[Python]在Fedora9下编译MySQLdb for
python
1. 准备
由于cygwin自己不提供MySQLClient程序,所以要从源代码进行编译。
首先需安装
cygwin
,安装的时候要选择Devel、Perl、Python包。
下载对应的
MySQL
版本,注意要下载“Source”版本。
下载
MySQLdb
,以备安装。

2. 编译安装MySQLClient
进入cygwin的Shell,解压MySQL代码:
tar -xvzf mysql-5.0.37.tar.gz
cd mysql-5.0.37
配置、编译、安装
./configure --without-server
make && make install
根据机器的配置,编译可能会花较长的时间,一般在半个小时左右。
3. 编译安装MySQLdb
3.1. 解压
进入cygwin的Shell,解压MySQLdb:
tar -xvzf MySQL-python-1.2.2.tar.gz
cd MySQL-python-1.2.2
3.2. 编译前的设置
首先修改MySQLdb的编译配置文件:site.cfg,在MySQL-python-1.2.2目录下。
找到[options]项进行如下修改:
放开mysql_config = /usr/local/bin/mysql_config一行,屏蔽#registry_key =
SOFTWARE\MySQL AB\MySQL Server 5.0一行,因为cygwin属于类Linux不是Windows。
由于我们用在PC机上所以设置embedded为False。
设置threadsafe为False;我们尽量采用静态编译,static设为True。
最后的[options]如下:
[options]
# embedded: link against the embedded server library
# threadsafe: use the threadsafe client
# static: link against a static library (probably required for embedded)
embedded = False
threadsafe = False
static = True
# 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/local/bin/mysql_config
# The Windows registry key for MySQL.
# This has to be set for Windows builds to work.
# Only change this if you have a different version.
#registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0
3.3. 编译、安装
cd MySQL-python-1.2.2
python setup.py build
python setup.py install
在安装过程中可能会要求下载setuptools,按要求下载即可。
另外安装完毕后为.egg文件,也可以使用lib.cygwin-1.5.24-i686-2.5下的文件,即直接将文件拷贝到python的site-packages就能使用。