macOS Mojave 上安装 python mysql module 遇到小坑

公司的一个项目需要安装mysqlclient==1.3.12的模块,很久写MySQL base 的应用了,而且之前2年基本都是在ubuntu destkop上,还是遇到了一些小坑,不过很快就趟过去了,记录一下希望帮到有类似问题的同学

我的环境

1
2
3
operation system = macOS Mojave 10.14.3
python version = 2.7
pipenv version = 2018.11.26

mysql_config找不到

这个是个老生长谈的问题了,以前在Linux 上也经常遇到,解决的办法大多都是让你装一个Mysql就好了,不过为了解决一个mysql client 的依赖问题装一个mysql就实在是大炮打蚊子了,实际上只需要装一个 mysql-client 即可, 之前在ubuntu 上可以用apt-get安装

1
sudo apt-get install libmysqlclient-dev

在 mac 上如果你也是用 https://brew.sh/ 做包管理的化,那么用它来安装即可,

1
brew install mysql-client

安装完成后别忘记把 mysql_config 添加到PATH 中去 ,然后重新加载一下配置文件,我是用zsh的

1
2
3
# 修改 ~/.zshrc
expoort PATH=$PATH:/usr/local/Cellar/mysql-client/5.7.23/bin
source ~/.zshrc

ld: not found lssl

第一直觉是我的openssl库没有装,直接brew install openssl,但是提示我已经安装了,有点困扰。 Google 了一圈发现原来是 C Module 编译的时候没有到Library的正确安装位置,那么就设置一下正确的链接库的位置即可

1
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/

然后再执行一下pipenv install -r requirements.txt , Done !!!