[Python]在cygwin下編譯MySQLdb for python

來源:互聯網
上載者:User
[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就能使用。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.