MACOS15版本安装 python mysqlclient 以连接mysql 8.0
MACOS14/15 版本安装 python mysqlclient 以连接mysql 8.0
主要用于macos django4 + mysql8.0 开发项目
准备材料
macos >= 13.0
python >= 3.10.0 (不强制)
mysql >= 8.0
安装步骤
安装 brew
使用国内源安装brew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装 mysql8.0
这里需要注明版本,否则将会安装最新的版本 9.0系列,如果以9.0的client连接8.0的mysql数据库,mysqlclient会报错,这里主要的问题在于 mysql 9.0 的client 移除了 mysql_native_password 认证插件
brew insatll mysql@8.0
配置 Mysql8.0 环境
如果你是 bash,写本地bashrc,如果是zsh,写zshrc
如 vim ~/.zshrc
export MYSQL_HOME=/opt/homebrew/opt/mysql@8.0
export PATH=$PATH:$MYSQL_HOME/bin
# 如何macos系统intel系列
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MYSQL_HOME/lib
# export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$MYSQL_HOME/lib
# 如果macos系统m系列
export PKG_CONFIG_PATH=PKG_CONFIG_PATH:$MYSQL_HOME/lib/pkgconfig
export CPPFLAGS=-I$MYSQL_HOME/include
export LDFLAGS=-L$MYSQL_HOME/lib
编译完成后可以移除以上参数
安装 python mysqlclient 插件
pip3 install mysqlclient
# 或者
pip install mysqlclient
有一部分人可能因为之前装错了mysql版本(比如安装了9.0),然后安装mysqlclient后提示找不到 MysqlDb库,这是因为编译时使用了mysql9.0的头文件,在切换为mysql8.0后丢失库导致的,可以尝试以下方法:
pip3 cache remove mysqlclient
pip3 install mysqlclient