MacOS(M1/Intel芯片)使用pipenv安装mysqlclient始终失败如何解决
Mac环境pipenv安装mysqlclient报lzstd库找不到的解决方法
前置确认:请先确保已经通过homebrew安装了zstd和mysql-client,未安装的话先执行
brew install zstd mysql-client
报错核心原因是pipenv运行时不会默认读取终端临时设置的CFLAGS、LDFLAGS环境变量,导致编译mysqlclient时找不到zstd的链接库,可通过以下任意一种方法解决:
方法1:单次安装临时传入环境变量(推荐,不修改全局配置)
直接执行以下命令即可完成安装,命令可同时兼容Intel芯片和M1芯片机型:
CFLAGS="-I$(brew --prefix)/include" LDFLAGS="-L$(brew --prefix)/lib" pipenv install mysqlclient
方法2:写入全局shell配置,后续安装无需重复加参数
如果后续有频繁的编译类安装需求,可以把环境变量写入shell配置文件永久生效:
- 若使用zsh(Mac默认shell),执行以下命令写入配置并生效:
echo 'export CFLAGS="-I$(brew --prefix)/include"' >> ~/.zshrc echo 'export LDFLAGS="-L$(brew --prefix)/lib"' >> ~/.zshrc source ~/.zshrc
- 若使用bash,将上述命令中的
~/.zshrc替换为~/.bash_profile即可。
配置生效后直接执行pipenv install mysqlclient即可正常安装。
兜底方案
如果以上方法仍然报错,大概率是编译时无法找到mysql的配置文件,额外传入MYSQL_CONFIG环境变量即可:
MYSQL_CONFIG=$(brew --prefix mysql-client)/bin/mysql_config CFLAGS="-I$(brew --prefix)/include" LDFLAGS="-L$(brew --prefix)/lib" pipenv install mysqlclient
内容的提问来源于stack exchange,提问作者Andus
相关产品推荐
相关产品推荐

