django2.2 和 PyMySQL版本兼容问题


Posted in Python onFebruary 17, 2020

错误信息为

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

错误原因:

因为Django连接MySQL时默认使用MySQLdb驱动,但MySQLdb不支持Python3,因此这里将MySQL驱动设置为pymysql。由此产生的版本兼容问题。

pymysql安装方法:

#安装pymysql
pip install pymysql

#__init__.py
import pymysql
pymysql.install_as_MySQLdb()

解决办法:
1. django降到2.1.4版本
2. 修复源码
2.1 找到Python环境下 django包,并进入到backends下的mysql文件夹

# 使用此命令可以看到对应的文件夹目录
➜ daliyfresh pip install pymysql
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Requirement already satisfied: pymysql in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (0.9.3)

2.2 找到base.py文件,注释掉 base.py 中如下部分(35/36行)

if version < (1, 3, 3):
  raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

2.3 此时仍然报错,找到operations.py文件,将decode改为encode

AttributeError: ‘str' object has no attribute ‘decode'

解决办法:

#linux vim 查找快捷键:?decode
if query is not None:
 query = query.decode(errors='replace')
return query
#改为
if query is not None:
 query = query.encode(errors='replace')
return query

测试,执行数据迁移

python manage.py makemigrations
python manage.py migrate

django2.2 和 PyMySQL版本兼容问题

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

Python 相关文章推荐
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
使用遗传算法求二元函数的最小值
Feb 11 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
django rest framework 自定义返回方式
Jul 12 Python
Python如何输出警告信息
Jul 30 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
Pytorch可视化的几种实现方法
Jun 10 Python
基于python3的socket聊天编程
Feb 17 #Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 #Python
python词云库wordcloud的使用方法与实例详解
Feb 17 #Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 #Python
Python基于Socket实现简单聊天室
Feb 17 #Python
TFRecord文件查看包含的所有Features代码
Feb 17 #Python
tensorflow之tf.record实现存浮点数数组
Feb 17 #Python
You might like
967 个函式
2006/10/09 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
详谈jQuery unbind 删除绑定事件 / 移除标签方法
2017/03/02 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
python实现调用其他python脚本的方法
2014/10/05 Python
浅析Python函数式编程
2018/10/06 Python
python机器人运动范围问题的解答
2019/04/29 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
python日志logging模块使用方法分析
2019/05/23 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
人力资源主管职责范本
2014/03/05 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
大学生暑期实践报告
2015/07/13 职场文书
自信主题班会
2015/08/14 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python