2009-02-06 71 views
10

我想爲Cygwin上的python安裝MySQLdb。不幸的是,當我運行python setup.py build,我得到以下錯誤:有沒有人在Cygwin上爲Python安裝MySQLdb?

$ python setup.py build 
/bin/sh: /usr/local/bin/mysql_config: No such file or directory 
Traceback (most recent call last): 
    File "setup.py", line 16, in <module> 
    metadata, options = get_config() 
    File "/home/Ben/python/MySQL-python-1.2.2/setup_posix.py", line 43, in get_config 
    libs = mysql_config("libs_r") 
    File "/home/Ben/python/MySQL-python-1.2.2/setup_posix.py", line 24, in mysql_config 
    raise EnvironmentError, "%s not found" % mysql_config.path 
EnvironmentError: /usr/local/bin/mysql_config not found 

顯然,我沒有安裝mysql_config,我的猜測是問題。這在MySQL的README中已經提到,但是它沒有解釋如何繞過它或者如何安裝mysql_config。

所以也許這很簡單:我如何爲Cygwin安裝mysql_config

或者它可能比這更難。

僅供參考:我有python 2.5.2和MySQL 5.1.30,在Cygwin下運行。

+0

你安裝mysql的開發包? – nosklo 2009-02-06 16:04:25

+0

啊...不知道你知道我可以從cygwin中獲得他們嗎? – Ben 2009-02-06 16:17:55

回答

2

如果可用於cygwin,則需要mysql-devel,否則需要從源代碼構建mysql。

最好的辦法是自己編譯MySQL客戶端,以便獲得必要的頭文件來編譯MySQLdb。請參閱類似的Perl DB驅動程序上的this note

+0

謝謝你 - 我會放棄它! – Ben 2009-02-06 18:31:23

1

我按照this comment的指示安裝Cygwin上的MySQL。由於最新版本(5.1.41)無法構建,因此我必須使用版本5.1.35,它可以從here下載。

這裏是命令行我使用:

的./configure -without-libedit -without-的readline -without服務器CFLAGS = -O2`

2

使用指令生成MySQL以上之後,你」會需要做到以下幾點,以構建和安裝MySQLdb的:

  1. 下載了Python '的setuptools' 包here(例如:setuptools的-0.6c11-py2.6.egg)。你需要這個來運行MySQL-python附帶的setup.py。
  2. 使用同一頁面上的說明安裝setuptools(您只需像運行shell腳本一樣運行它)。
  3. 下載MySQL-python here(例如:MySQL-python-1.2.3.tar.gz)。
  4. 展開存檔,您將在自述文件中找到安裝說明。
  5. 使用README文件中的說明構建和安裝MySQL-python。
+0

這對我有用,謝謝。我發現在安裝MySQL-python(python setup.py install)時,我得到了一些權限錯誤,在這種情況下,您只需要在安裝文件夾(chmod -R 755)上遞歸地打開權限,並且它將正確安裝 – 2012-07-19 10:19:06

4

我怎麼做的:

首先我安裝apt-cyg。隨着:

# apt-cyg install gcc   # older name 
apt-cyg install gcc-core   # as of 2015 
apt-cyg install python-setuptools 
easy_install pip 
pip install -U mysql-python 
2

嘗試pip install mysql-python後得到了同樣的錯誤。我有Win7 x64 + Cygwin x86 2.830 + Django 1.5.5 + Python 2.7。

因此,我運行Cygwin安裝程序並下載了libmysqlclient-devel:MySQL數據庫客戶端庫(開發),並做到了這一點!

3

首先,安裝容易,CYG:

lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg` 
install apt-cyg /bin 

現在,使用apt-CYG安裝mysql-devel的:

apt-cyg install libmysqlclient-devel