You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django对接MySQL特殊配置问题:已装依赖仍提示MySQLdb模块加载失败

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

问题原因

Django 默认使用 mysqlclient 作为 MySQL 数据库驱动,你安装的 mysql-connector-python 不属于Django默认支持的驱动范畴,即便本地MySQL客户端、服务端运行正常,Django也无法识别匹配的驱动模块。

解决方案(二选一即可)

方案1:安装默认依赖mysqlclient(优先推荐)

  1. 先清理现有冲突包:
    pip uninstall mysqlclient mysql-connector-python -y
  2. 安装系统层面前置依赖:
    • Debian/Ubuntu 系列:sudo apt install libmysqlclient-dev python3-dev
    • RHEL/CentOS 系列:sudo yum install mysql-devel python3-devel
    • macOS:brew install mysql-client,执行完成后运行 echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc 使环境变量生效
  3. 安装Python依赖:
    pip install mysqlclient

方案2:沿用已安装的mysql-connector-python

无需额外安装包,直接修改Django项目settings.py中的DATABASES配置,替换ENGINE字段:

DATABASES = {
    'default': {
        # 把原有值 django.db.backends.mysql 替换为下方内容
        'ENGINE': 'mysql.connector.django',
        'NAME': '你的目标数据库名',
        'USER': '数据库用户名',
        'PASSWORD': '数据库密码',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

注意:请确保mysql-connector-python版本≥8.0.29,适配Django 3.2及以上版本

效果验证

完成上述操作后重新执行迁移命令:
bash ../download_content.sh create_django_tables
如果依旧报错,先执行 python -c "import MySQLdb" 确认驱动是否正常加载,无输出即为正常;如果提示模块不存在,检查你执行脚本的Python环境和安装依赖的Python环境是否一致,常见问题为全局环境安装了依赖,但脚本调用的是项目虚拟环境的Python,虚拟环境内未安装对应依赖。

内容的提问来源于stack exchange,提问作者anas shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 19:06:08