還是老樣子,本來想自己寫的,但是發現這個哥們寫的相當詳細,直接搬過來即可
安裝環境:OS X操作系統,Python 2.7.3。
MySQLdb其實包含在MySQL-python包中,因此無論下載還是在pip中search,都應該是搜尋MySQL-python。
以下將說明MySQLdb兩種常見的安裝方式,下載安裝或者pip安裝MySQL-python。
下載MySQLdb
在SourceForge可以下載MySQL-python-1.2.4b4.tar,下載後解壓,然後在終端Terminal中執行以下命令:
$ cd /Users/iFantastic/Downloads/MySQL-python-1.2.4b4
$ python setup.py install
使用pip安裝MySQLdb
在終端中執行:
$ pip install MySQL-python
無論是在線安裝還是下載安裝,此時你可能會遇到第一個錯誤提示:
EnvironmentError: mysql_config not found
建議使用pip安裝,因爲我從sourceforge下載的版本居然不如pip中的新。如果想要升級mysql-python版本,可以使用以下命令:
$ easy_install MySQL-python --upgrade
[注意]如果你沒有按照下文解決安裝中的錯誤提示,那麼升級也會因爲同樣的錯誤原因而失敗。
解決mysql_config not found錯誤
在默認方式安裝Mac版MySql時,會在/usr/local/mysql/bin目錄下生成mysql_config文件。
因此下載安裝時的解決辦法爲:在MySQL-python的安裝包中找到site.cfg文件,打開它,找到以下內容:
# 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
將最後一句句首井號去掉,並修改爲:
mysql_config = /usr/local/mysql/bin/mysql_config
然後執行:
$ python setup.py install
一般說來,此時安裝可以完成,但仍有問題,下文會繼續闡述。
使用pip安裝時沒有辦法修改site.cfg文件,因此可以通過修改OS X的系統環境變量來解決找不到mysql_config的錯誤。
修改OS X環境變量:打開終端,在終端中使用vim打開“~/.bash_profile”,如果沒有安裝vim,那就顯示隱藏文件用文本編輯器打開,具體操作這裏就不復述了。在.bash_profile中添加以下內容:
PATH="/usr/local/mysql/bin:${PATH}"
export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=no
export VERSIONER_PYTHON_PREFER_32_BIT=yes
其中 VERSIONER_PYTHON_PREFER_64_BIT和VERSIONER_PYTHON_PREFER_64_BIT根據自己安裝的MySQL進行選擇。
另外再提供一個pip安裝時找不到mysql_config的解決方法(我沒有驗證),在終端中輸入以下命令:
$ sudo ln -s /usr/local/mysql/bin/* /usr/bin
好了,到這裏,MySQL-python包應該基本順利安裝。
解決 Reason: image not found 錯誤
安裝完MySQL-python包後,讓我們import MySQLdb,此時出現一個錯誤,錯誤最後一行寫着 Reason: image not found。
解決方法是在終端執行:
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
之後重啓idle,成功導入MySQLdb。
PS: 在Ubuntu下使用pip安裝MySQL-python同樣會出現mysql_config no found的錯誤提示,建議使用 sudo apt-get install python-mysqldb 來進行安裝,這樣直接可以安裝成功。
如果使用MacPorts安裝MySQL,MacPorts安裝的源碼包都存放在/opt目錄下,安裝完MySQL後,使用 port select --list mysql 查看一下當前啓用的MySQL版本(初次安裝完畢後應該是沒有啓用任何版本的MySQL),然後使用 port select --set mysql mysql_you_selected 來設置啓用的MySQL版本,之後再使用pip安裝則無需擔心mysql-config的問題。