【django】django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required(转载)

背景:

python3.6

django=2.2

原因:

django连接mysql时默认使用MySQLdb,但是MySQLdb不支持python3,使用pymysql代替时报错。

__init__.py(和settings.py同一目录)

import pymysql
pymysql.install_as_MySQLdb()

解决方法:

第一种:把django版本降低

第二种:

1. 找到django\db\backends\mysql安装的目录,如我的目录是:

D:\software\python3.6\Lib\site-packages\django\db\backends\mysql

2. 打开base.py文件,并找到以下代码

version = Database.version_info

在if中加入pass,并注释以下代码

raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

如:

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

然后保存并关闭文件。

3. 打开 operations.py文件

找到以下代码:

query = query.decode(errors='replace')

将decode更改为encode,如下所示

query = query.encode(errors='replace')

大功告成,可以正常运行。


参考文章:

https://stackoverflow.com/questions/55657752/django-installing-mysqlclient-error-mysqlclient-1-3-13-or-newer-is-required

本文地址: http://www.chenxm.cc/article/859.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!

猜你喜欢

转载自blog.csdn.net/elsa_yxy1984/article/details/108661231