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

Mac Sonoma下Django切换MySQL引擎报_mysql未定义错误的解决求助

Django切换MySQL数据库时的_mysql未定义问题及解决

配置修改过程

原SQLite数据库配置(settings.py):

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

修改为MySQL配置后:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'storefront',
    }
}

执行python manage.py runserver时的报错

File "/Users/aditi/.local/share/virtualenvs/storefront-4vgosAeV/lib/python3.12/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
    import MySQLdb as Database
  File "/Users/aditi/.local/share/virtualenvs/storefront-4vgosAeV/lib/python3.12/site-packages/MySQLdb/__init__.py", line 24, in <module>
    version_info, _mysql.version_info, _mysql.__file__
                  ^^^^^^
NameError: name '_mysql' is not defined

本地MySQLdb的__init__.py内容

try:
    from MySQLdb.release import version_info
    from . import _mysql

    assert version_info == _mysql.version_info
except Exception:
    raise ImportError(
        "this is MySQLdb version {}, but _mysql is version {!r}\n_mysql: {!r}".format(
            version_info, _mysql.version_info, _mysql.__file__
        )
    )

环境信息

  • 系统:Mac Sonoma 14.3
  • Python版本:3.12.7
  • MySQL安装方式:x86 DMG安装

已尝试的无效操作

在.zshrc中添加export PATH="/usr/local/mysql/bin:$PATH",问题未解决。

解决方法

已通过PyMySQL解决该问题。

内容的提问来源于stack exchange,提问作者Aditi B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 10:25:06