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 相关文章推荐
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
深入解析Python中的lambda表达式的用法
Aug 28 Python
Python处理中文标点符号大集合
May 14 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
python3使用matplotlib绘制散点图
Mar 19 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
pandas中的series数据类型详解
Jul 06 Python
python如果快速判断数字奇数偶数
Nov 13 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
Jan 19 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 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/06/25 PHP
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
HTML Dom与Css控制方法
2010/10/25 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python常用小技巧总结
2015/06/01 Python
Python3使用requests发闪存的方法
2016/05/11 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
文员个人的求职信范文
2013/09/26 职场文书
教学实验楼管理制度
2014/02/01 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
撤诉书怎么写
2015/05/19 职场文书
总结会主持词
2015/07/02 职场文书
Go遍历struct,map,slice的实现
2021/06/13 Golang
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL