【Django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required

【Django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required

使用的Django版本为2.2

raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.0.

原因

原因是 MySQLclient 目前只支持到 Python3.4,你使用了更高版本的 python

处理方式一

在setting.py同文件夹下的_init_.py加入以下内容

import pymysql

pymysql.version_info = (1, 4, 13, "final", 0)   # 指定版本
pymysql.install_as_MySQLdb()  

就可以不报错了。

处理方式二

点报错的代码文件路径信息,讲报错的代码行数注释掉。
通过报错信息的文件路径找到 …\django\db\backends\mysql 这个路径里的 base.py 文件,把代码开头的两行代码注释掉

# if version < (1, 3, 13):
#    raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

如果再运行出现str报错信息,点进去加一行query = query.encode()
第二次报错