django2.2安装错误最全的解决方案(小结)

安装报错类型,解决方案;

1. 数据库连接报错

MysqLdb只支持python2,pyMysqL支持3,都是使用c写的驱动,性能更好

# django中修改配置文件setting.py添加如下代码:

import pyMysqL
pyMysqL.install_as_MysqLdb()

解决方案:

修改数据库MysqLdb=>pyMysqL

2. 因为切换数据库导致版本错误

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.

解决方案:

注释掉检测数据库版本的代码

# "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/MysqL/base.py",line 36,in <module>

# if version < (1,3,13):
#  raise ImproperlyConfigured('MysqLclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

3. 切换数据库导致转码错误

"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/MysqL/operations.py",line 146,in last_executed_query
    query = query.decode(errors='replace')

解决方案: ==暂时使用第二种类型==

修改decode为encode

把条件注释掉,防止出现不可预知的错误,这个错误很可能是python2中类型str和unicode的原因,python3中只有unicode类型数据

# "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/django/db/backends/MysqL/operations.py",line 146

 # if query is not None:
  #query = query.encode(errors='replace')

解决完成之后完美运行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

相关文章

在这篇文章中,我们深入学习了XPath作为一种常见的网络爬虫技巧。XPath是一种用于定位和选择XML文档中特...
祝福大家龙年快乐!愿你们的生活像龙一样充满力量和勇气,愿你们在新的一年里,追逐梦想,勇往直前,不...
今天在爬虫实战中,除了正常爬取网页数据外,我们还添加了一个下载功能,主要任务是爬取小说并将其下载...
完美收官,本文是爬虫实战的最后一章了,所以尽管本文着重呈现爬虫实战,但其中有一大部分内容专注于数...
JSON是一种流行的数据传输格式,Python中有多种处理JSON的方式。官方的json库是最常用的,它提供了简单...
独立样本T检验适用于比较两组独立样本的均值差异,而配对T检验则适用于比较同一组样本在不同条件下的均...