背景:
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
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。