Mac OS下安装mysqlclient 时 Failed building wheel for mysqlclient

遇到这种情况 


首先,需要安装mysql,并依赖openssl,这个就不说了,直接官网下载mysql安装包无脑安装就好了

这时,你想试一下安装mysqlclient,于是通过pip进行安装尝试:

pip3 install mysqlclient

这时你会得到一个错误:

Command "python setup.py egg_info" failed with error code 1 in 
/private/var/folders/0h/jn4vphd94wsf0sl01jb74p200000gn/T/
pip-build-75a5emrb/mysqlclient/

别急,照着步骤做:

通过brew安装 mysql-connector-c

brew install mysql-connector-c

安装后你可以找到mysql_config这个源文件,在里面找到如下内容

# Create options
libs="-L$pkglibdir"
libs="$libs -l "

将他替换成

# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"


这时尝试安装mysqlclient,又出现另一个错误

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 --recor
d/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/jn4vphd94wsf0sl01
jb74p200000gn/T/pip-build-7dif93uz/mysqlclient/

不要急,这时因为没有openssl环境变量,这样做

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"


最后,再次安装mysqlclient

pip3 install mysqlclient


你会看到

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

这下应该是没有问题了


0
305
上一篇:
下一篇: