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使用clear方法清除字典内全部数据实例
Jul 11 Python
使用Python3编写抓取网页和只抓网页图片的脚本
Aug 20 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
Python语言描述最大连续子序列和
Dec 05 Python
Python使用装饰器模拟用户登陆验证功能示例
Aug 24 Python
Python实现合并两个有序链表的方法示例
Jan 31 Python
浅谈pycharm导入pandas包遇到的问题及解决
Jun 01 Python
通过Python实现Payload分离免杀过程详解
Jul 13 Python
Java爬虫技术框架之Heritrix框架详解
Jul 22 Python
如何用python免费看美剧
Aug 11 Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 Python
PyTorch dropout设置训练和测试模式的实现
May 27 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
国外十大最流行的PHP框架排名
2013/07/04 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
MSN消息提示类
2006/09/05 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2011/06/27 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
JavaScript ES5标准中新增的Array方法
2016/06/28 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
jQuery纵向导航菜单效果实现方法
2016/12/19 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
python基础教程之分支、循环简单用法
2016/06/16 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
3个CCIE对一个工程师的面试题
2012/05/06 面试题
技术人员面试提纲
2013/11/28 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
2015年技术员工作总结
2015/04/10 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库