我一直在研究如何在Mac上爲Python安裝MySQLdb模塊。並且所有的修改最終都會傳遞到安裝MySQL,因爲模塊需要一個mysql_config。但我不明白爲什麼它需要?爲什麼MySQLdb for Mac必須安裝MySQL才能安裝?
MySQLdb假設是想要連接到服務器的客戶端的客戶端模塊。但是現在我必須先在客戶端上安裝服務器才能連接到另一臺服務器?
我一直在研究如何在Mac上爲Python安裝MySQLdb模塊。並且所有的修改最終都會傳遞到安裝MySQL,因爲模塊需要一個mysql_config。但我不明白爲什麼它需要?爲什麼MySQLdb for Mac必須安裝MySQL才能安裝?
MySQLdb假設是想要連接到服務器的客戶端的客戶端模塊。但是現在我必須先在客戶端上安裝服務器才能連接到另一臺服務器?
MySQLdb是而不是客戶端模塊本身。它是Python程序和標準MySQL客戶端庫之間的包裝或接口。 MySQLdb符合Python standard DB API。還有其他適用於其他數據庫管理器的適配器。使用通用API使得在Python中編寫與數據庫無關的代碼變得更加容易;適配器處理(大部分)各種數據庫客戶端庫之間的混亂差異。因此,您確實需要安裝MySQL客戶端庫;有幾種方法可以做到這一點:最簡單的選擇可能是從mysql.com下載預構建庫,或者可以使用包管理器(如MacPorts)來安裝它們和其他依賴項。
我不確定MySQLdb的具體情況,但很可能需要編譯/安裝頭文件信息。它使用mysql_config的位置來知道適當的頭文件的位置。 Ruby on Rails的MySQL Gem需要同樣的東西,即使它只是連接到MySQL服務器。
它需要的是服務器附帶的客戶端庫和頭文件,因爲它只是一個Python包裝器(它位於_mysql.c
;並且包含在MySQLdb
包中的封裝器的DB-API接口)在原始C MySQL API上。
只是爲了澄清什麼其他應答者說:你不需要安裝一個MySQL服務器,但你做需要安裝MySQL 客戶庫。但是,無論出於何種原因,MySQL都不會像客戶端Linux一樣爲客戶端庫提供單獨的下載。
只是爲了完成正確的答案,這裏有一個小的如何在MacOS X 10.6上安裝MySQLdb。這被張貼on my blog,你可能會檢查出更多的信息(和鏈接,因爲我是一個新的用戶在stackoverflow,只能添加一個)。
我沒有介紹MySQL的安裝,但是當你這樣做的時候,下面是你如何安裝MySQLdb。
shell> PATH="/usr/local/mysql/bin:$PATH"
shell> tar xzf MySQL-python-1.2.3c1.tar.gz
shell> cd MySQL-python-1.2.3c1
shell> ARCHFLAGS="-arch x86_64" /usr/bin/python setup.py build
shell> /usr/bin/python setup.py install
目前正在完成MySQL連接器/ Python的工作。這是MySQL協議的純Python實現,因此您無需安裝任何MySQL軟件或編譯即可開始工作。