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批量制作雷达图的实现方法
Jul 26 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
python爬虫超时的处理的实例
Dec 19 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
Python搭建HTTP服务过程图解
Dec 14 Python
Python 实现RSA加解密文本文件
Dec 30 Python
python opencv人脸识别考勤系统的完整源码
Apr 26 Python
变长双向rnn的正确使用姿势教学
May 31 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的控制语句
2006/10/09 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
vue实现图片预览组件封装与使用
2019/07/13 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
python编程测试电脑开启最大线程数实例代码
2018/02/09 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
简单了解python反射机制的一些知识
2019/07/13 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
学生学习总结的自我评价
2013/10/22 职场文书
函授毕业生的自我鉴定
2013/11/26 职场文书
项目合作计划书
2014/01/09 职场文书
高中军训感言400字
2014/02/24 职场文书
合作意向书格式及范文
2014/03/31 职场文书
实习生辞职信范文
2015/03/02 职场文书
统计工作个人总结
2015/03/03 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL