一直使用的Django2.1.5版本今天升级Django为2.2 LTS,新建项目启动后报错:
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.
大概的意思是说:mysqlclient 1.3.13这个包有问题
百度后,得知:Python访问MySQL需要安装对应的驱动包,其将MySQL的API接口转换成Python格式供数据库应用软件开发者直接调用的第三方库。Django2.2默认使用“mysqlclient”这个库去连接MySQL,而之前一直使用的是“pymysql”(pymysql最新版是0.9.3)这个库连接MySQL的,网上很多都说改Django框架代码或者降低Django版本,觉得这样不解决根本问题。
Django官方文档说明:https://docs.djangoproject.com/en/3.0/ref/databases/#mysql-db-api-drivers
Django官方推荐使用mysqlclient
解决方法,就是更换MySQL驱动
# pip安装mysqlclient
pip install mysqlclient
# 更改导入的驱动
将原来的
import pymysql
pymysql.install_as_MySQLdb()
更改为
import MySQLdb
即可解决
本文参考自:https://blog.csdn.net/ACBC12345/article/details/100543432