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

yipeiwu_com6年前Python基础

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

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')

解决完成之后完美运行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python调用OpenCV实现人脸识别功能

Python调用OpenCV实现人脸识别,供大家参考,具体内容如下 硬件环境: Win10 64位 软件环境: Python版本:2.7.3 IDE:JetBrains PyCharm...

Python获取数据库数据并保存在excel表格中的方法

Python获取数据库数据并保存在excel表格中的方法

将数据库中的数据保存在excel文件中有很多种方法,这里主要介绍pyExcelerator的使用。 一、前期准备(不详细介绍MySQL) python包pyExcelerator和MyS...

Python 字符串中的字符倒转

方法一,使用[::-1]: s = 'python' print s[::-1] 方法二,使用reverse()方法: l = list(s) l.reverse() print ''....

python实现超市商品销售管理系统

python实现超市商品销售管理系统

本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 需求分析:超市销售管理系统功能 1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为a...

使用Python的判断语句模拟三目运算

下面说的和三目运算有点相似,但又不一样,实在不知道该如何拟定标题,先就是这个标题吧,大家都知道python中没有三目运算,但是and/or有点类似三目运算: and/or 单独使用表示逻...