[Python]在cygwin下編譯MySQLdb for python
-
1. 準備
-
2. 編譯安裝MySQLClient
-
3. 編譯安裝MySQLdb
-
-
3.1. 解壓
-
3.2. 編譯前的設定
-
3.3. 編譯、安裝
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. 編譯安裝MySQLdb3.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就能使用。