macOS系统下Django项目安装mysqlclient报错问题求解
报错触发原因
- 第一个
ImproperlyConfigured报错:Django连接MySQL默认依赖mysqlclient库作为驱动,本地环境未安装该依赖时就会触发该报错,提示你需要安装mysqlclient。 - 第二个pip安装失败报错,常见触发场景如下:
- 缺少系统级编译依赖:mysqlclient是C扩展实现的库,安装时需要依赖系统的MySQL开发头文件、Python开发头文件和编译工具链,缺少这些依赖时pip无法编译源码包,就会提示找不到匹配的发行版本。
- Python版本不兼容:如果你的Python版本高于当前mysqlclient最新版本支持的范围,也会出现找不到匹配版本的提示。
- pip源同步不全:如果你配置的第三方pip源没有同步对应版本的mysqlclient包,也会触发该报错。
对应解决方法
方案1:直接安装mysqlclient(推荐)
先安装系统依赖
- Debian/Ubuntu 操作系统:
执行命令:sudo apt update && sudo apt install -y python3-dev default-libmysqlclient-dev build-essential - CentOS/RHEL/Rocky Linux 操作系统:
执行命令:sudo yum install -y python3-devel mysql-devel gcc - macOS 操作系统:
执行命令:brew install mysql-client pkg-config
重新安装依赖
执行命令:python3 -m pip install mysqlclient
如果仍提示找不到版本,可切换国内pip源重试:python3 -m pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple
方案2:用pymysql替代(无需编译,兼容性更高)
如果不想处理编译依赖,可直接用纯Python实现的pymysql替代mysqlclient,操作步骤如下:
- 安装pymysql:
python3 -m pip install pymysql - 在Django项目根目录的
__init__.py文件中添加如下代码:
import pymysql pymysql.install_as_MySQLdb()
配置完成后直接启动Django服务即可,无需修改其他数据库配置。
内容的提问来源于stack exchange,提问作者Ganesh Prasad
相关产品推荐
相关产品推荐

