Django2.2连接mysql数据库出现django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is requ
Posted horace-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django2.2连接mysql数据库出现django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is requ相关的知识,希望对你有一定的参考价值。
在使用Django2.2开发的时候,想要使用mysql数据库,在settings.py文件中更改命令:
DATABASES =
‘default‘:
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘python‘,
‘USER‘: "root",
‘PASSWORD‘: "yhr2323214310",
‘HOST‘: ‘‘,
‘PORT‘: ‘‘
再安装好pymysql,然后在__init__.py文件中添加:
import pymysql
pymysql.install_as_MySQLdb()
然后在models中创建好表类后,进行数据迁移时出现问题:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
上网查一下解决方法,费了好大劲
解决方法:
1.找到base.py文件,我的是在~/PycharmProject/myBlog/venv/lib/python3.6/site-packages/django/db/backends/mysql/base.py
就是在你项目文件夹下的/venv/lib/python3.6/site-packages/django/db/backends/mysql/中
进去进行修改:
找到这段代码:version = Database.version_info
修改下面的if语句:添加pass,再注释掉,就像这个样子:
if version < (1, 3, 13):
pass
‘‘‘
raise ImproperlyConfigured(‘mysqlclient 1.3.13 or newer is required; you have %s.‘ % Database.__version__)
‘‘‘
保存后,在进入同路径下的operations.py文件
将query = query.decode(errors=‘replace‘)中的decode改为encode
保存
再次进行数据迁移,成功!可以成功连接到mysql。
以上是关于Django2.2连接mysql数据库出现django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is requ的主要内容,如果未能解决你的问题,请参考以下文章
Django2.2连接MySQL报错Authentication plugin 'caching_sha2_password' cannot be loaded
切换到django 3并返回django 2后无法登录Django项目
django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3