環(huán)境配置這個東西很討厭,但是還必須得配咪笑,沒辦法窗怒。這個環(huán)境的配置過程也是很多坑扬虚,花了一個下午踩坑弯蚜,由于重啟了幾次碎捺,所以沒有截圖來記錄了收厨。不過還是可以分享一下遇到問題每一步的分析和解決方法。
注:本機已經(jīng)安裝了mysql雁竞,xcode command line tools碑诉,homebrew进栽,pip等環(huán)境
先介紹一下什么是MySQLdb:
MySQLdb 是用于Python鏈接Mysql數(shù)據(jù)庫的接口恭垦,它實現(xiàn)了 Python 數(shù)據(jù)庫 API 規(guī)范 V2.0番挺,基于 MySQL C API 上建立的。
好吧隨便找個鏈接都有相關(guān)介紹:http://www.runoob.com/python/python-mysql.html
進入正題襟衰。一開始想到的是在線安裝右蒲,那就很自然的
sudo pip install MySQL-Python
提示報錯瑰妄,至于報的是沒有一個什么.h文件還是ssl錯誤記不到了映砖,百度了一下,看到大家推薦本地安裝方式竹宋,版本還更新蜈七。那就干脆轉(zhuǎn)向本地安裝方式飒硅。參考:http://www.reibang.com/p/71cf187598ce
去SourceForge下載后,按照要求修改了site.cfg文件內(nèi)容
mysql_config = /usr/local/mysql/bin/mysql_config
修改完成后庵芭,在目錄下執(zhí)行
sudo?python setup.py install
這時報了一個SSL鏈接錯誤:urllib2.HTTPError: HTTP Error 403: SSL is required雀监。接著去Google一下会前,找到了一個帖子:https://blog.csdn.net/xianglingchuan/article/details/78884368#0-tsina-1-89740-397232819ff9a47a7b7e80a40613cfe1
那就直接下載了這個.tar.gz文件放到目錄中回官,繼續(xù)嘗試sudo python setup.py install
報了一個很明顯的缺了一個Python什么組件的錯,pip安裝了一下笛坦,繼續(xù)install版扩。
然后報了一個?fatal error: 'my_config.h' file not found侄泽〉课玻看起來還是缺少環(huán)境。找到一個文章:http://www.reibang.com/p/ca0281c96fe4?utm_campaign=maleskine&utm_content=note&utm_medium=reader_share&utm_source=weibo
那就很明顯是缺少一個mysql-connector-c這個環(huán)境未状,那就安裝:
brew install mysql-connector-c
完畢后司草,繼續(xù)sudo python setup.py install
這次很順利埋虹,沒有看到報錯了娩怎。那就驗證一下吧:
python?
import MySQLdb
這次報了一個Reason: image not found
繼續(xù)google截亦,找到相應(yīng)解決方案:http://www.cnblogs.com/ifantastic/archive/2013/04/13/3017677.html
然后順便也看到了要改bash的環(huán)境,我用的zsh急灭,而且是64位葬馋。就在.zshrc文件后追加了
PATH="/usr/local/mysql/bin:${PATH}"export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/export VERSIONER_PYTHON_PREFER_64_BIT=yes
export VERSIONER_PYTHON_PREFER_32_BIT=no
完成后source ~/.zshrc
然后處理剛才的image問題:
sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
這條沒問題
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
這條報了個錯肾扰,就去本地看了一下這個文件,
那就簡單了:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/lib/libmysqlclient.21.dylib
然而還是報錯窗悯,Operation not permitted
愣了一下蒋院,切換到root執(zhí)行還是報錯莲绰。stat看了一下,rwx權(quán)限都有辞友,chattr這個命令mac上還沒有震肮,應(yīng)該不是這個問題。google一下鲫尊,發(fā)現(xiàn):https://blog.csdn.net/z82367825/article/details/55000615#0-tsina-1-11606-397232819ff9a47a7b7e80a40613cfe1
那就重啟進恢復(fù)模式執(zhí)行
csrutil disable
完畢后重啟電腦马昨,嘗試
python?
import MySQLdb
沒有問題了扛施,順利安裝完成。雖然說過程一步步各有各的問題出現(xiàn)匙奴,但是要學(xué)會對癥下藥泼菌,善用搜索引擎,思考每一個報錯原因是什么哗伯,這樣很快就能排除完問題了焊刹。