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调用windows api锁定计算机示例
Apr 17 Python
Python字典操作简明总结
Apr 13 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
python实现list元素按关键字相加减的方法示例
Jun 09 Python
定制FileField中的上传文件名称实例
Aug 23 Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 Python
用于业余项目的8个优秀Python库
Sep 21 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
python匿名函数用法实例分析
Aug 03 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
详解Python设计模式之策略模式
Jun 15 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 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
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
PHP实现文件下载【实例分享】
2017/04/28 PHP
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
JS中关于事件处理函数名后面是否带括号的问题
2016/11/16 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
浅谈React Native 中组件的生命周期
2017/09/08 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
深入理解Django的中间件middleware
2018/03/14 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
python实现二维插值的三维显示
2018/12/17 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
python如何更新包
2020/06/11 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
为什么需要版本控制
2016/10/28 面试题
暑期社会实践学生的自我评价
2014/01/09 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
事业单位考核材料
2014/05/21 职场文书
承诺书范文
2014/06/03 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
深入讲解数据库中Decimal类型的使用以及实现方法
2022/02/15 MySQL
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android