MacOS M2芯片Python3.12用mysqlclient遇架构兼容错误求解决
解决方案:M2 Mac + Python 3.12 + mysqlclient 架构兼容问题
方法一:基于Homebrew安装ARM版MySQL客户端库并重新编译mysqlclient
- 卸载已安装的mysqlclient:
pip uninstall mysqlclient -y - 安装适配ARM架构的MySQL客户端开发库:
brew install mysql-client - 设置环境变量,指定编译时使用ARM版库路径:
export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH" export LDFLAGS="-L/opt/homebrew/opt/mysql-client/lib" export CPPFLAGS="-I/opt/homebrew/opt/mysql-client/include" - 重新安装mysqlclient:
pip install mysqlclient
方法二:使用Rosetta 2转译环境运行
- 复制终端应用:找到「终端.app」右键选择「复制」,重命名为「Terminal (Rosetta)」
- 开启Rosetta转译:右键点击复制的终端,选择「显示简介」,勾选「使用Rosetta打开」
- 在转译终端中操作:
# 激活虚拟环境 source .venv/bin/activate # 重装mysqlclient pip uninstall mysqlclient -y pip install mysqlclient
方法三:确认虚拟环境使用ARM架构Python
- 检查当前Python架构:
需输出python -c "import platform; print(platform.machine())"arm64,若为x86_64,需重新安装ARM版Python 3.12(可通过Homebrew或pyenv安装) - 重建虚拟环境并安装:
rm -rf .venv python3.12 -m venv .venv source .venv/bin/activate pip install mysqlclient
内容的提问来源于stack exchange,提问作者Alex Kim
相关产品推荐
相关产品推荐

