django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

一直使用的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

posted @ 2020-01-07 10:21  OpsDrip  阅读(481)  评论(0编辑  收藏  举报