最近在學(xué)些Python時(shí)搭建相關(guān)環(huán)境窗悯,想在本地Mac上裝上mysqlclient,但著實(shí)遇到不少坑烦磁,最終還是在github issue中找到了解決方法芹缔,這里記錄一下坯癣,也讓遇到同樣問(wèn)題的朋友快速解決。
首先最欠,需要安裝mysql示罗,并依賴(lài)openssl,這個(gè)就不說(shuō)了芝硬,直接官網(wǎng)下載mysql安裝包無(wú)腦安裝就好了
這時(shí)蚜点,你想試一下安裝mysqlclient,于是通過(guò)pip進(jìn)行安裝嘗試:
pip3 install mysqlclient
這時(shí)你會(huì)得到一個(gè)錯(cuò)誤:
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-75a5emrb/mysqlclient/
別急拌阴,照著步驟做:
通過(guò)brew安裝 mysql-connector-c
brew install mysql-connector-c
安裝后你可以找到mysql_config這個(gè)源文件绍绘,在里面找到如下內(nèi)容
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
將他替換成
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
這時(shí)嘗試安裝mysqlclient,又出現(xiàn)另一個(gè)錯(cuò)誤
Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-7dif93uz/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-ljzyp5xt-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/pip-build-7dif93uz/mysqlclient/
不要急,這時(shí)因?yàn)闆](méi)有openssl環(huán)境變量陪拘,這樣做
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
最后厂镇,再次安裝mysqlclient
pip3 install mysqlclient
你會(huì)看到
Collecting mysqlclient
Using cached mysqlclient-1.3.12.tar.gz
Installing collected packages: mysqlclient
Running setup.py install for mysqlclient ... done
Successfully installed mysqlclient-1.3.12
done!