mac下安装 msyqlclient(MySQLdb)模块的坑 library not found for -lssl

房东的猫 提交于 2019-12-11 02:28:08

事出起因:
Mac 环境下
python 安装mysqlclient(MySQLdb) 出错

ld: library not found for -lssl·

查找完整的句子查不到 google 和百度都查不到
然后手机索性查 -lssl 没想到找到一点点头绪
最后追踪到一篇博客遇到同样的问题:

https://www.jianshu.com/p/86367222dd74

用他的方法安装还是报错
ld: warning: directory not found for option '-L/usr/local/opt/openssl/lib'
他使用的代码如下:

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

这里还要说一个题外话,就是我是用 brew 安装的openssl 所以路径会有些差异,然后就意识到这个问题。

那么就查找openssl 路径
使用命令:

brew info openssl

查看了一下软件信息,没想到又意外收获

。。。
If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.bash_profile

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
 。。。

这里简单的意思就是如果你要使用ssl 就把 openssl 添加到PATH里边

下边那句最重要: 如果要编译使用你需要设置下边两个

也就是下边这两句话:

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

注意: 这里运行完之后千万不要退出终端或者重启,因为是一次性的哦,想要以后都不出这问题可以添加到.bash_rc 或者 .bash_prifile

最后可以愉快的安装了:

pip3 install mysqlclient
或者:
pip install mysqlclient

解决: 浪费了一个半小时解决这个问题。。。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!