Django 2.0 配置 MySQL 数据库启动报错及版本检查问题解决方案
本文解决 Django 2.0 使用 MySQL 数据库时常见的两个启动错误。首先针对找不到 mysqlclient 模块的问题,通过在 __init__.py 中引入 pymysql 并调用 install_as_MySQLdb() 进行兼容处理;其次针对版本检查报错,通过注释 Django 源码中 base.py 文件的版本校验代码来绕过限制,确保项目正常启动。
Django 2.0 配置 MySQL 启动报错及修复
当在 Django 2.0 项目中配置 MySQL 作为数据库后端时,启动服务可能会遇到报错。
第一个常见错误是系统提示找不到 mysqlclient 模块。
具体报错信息为:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

针对上述问题的解决方法如下。
在项目根目录(与 settings.py 同级)下的 __init__.py 文件中添加以下代码。
import pymysql pymysql.install_as_MySQLdb()
解决模块缺失后,可能会遇到第二个错误,即版本检查失败。
报错信息显示:raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
针对版本检查错误的解决方法如下。
找到 Python 安装路径下对应的 Django 数据库后端文件,路径示例为:/Users/MAC/env/MxShop/lib/python3.6/site-packages/django/db/backends/mysql/base.py。
在该文件中找到并注释掉以下版本检查代码。
#if version < (1, 3, 3): # raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
完成修改后,在项目 manage.py 所在路径下重新执行启动命令即可。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













