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模块之StringIO使用示例
Apr 08 Python
Django验证码的生成与使用示例
May 20 Python
Python enumerate索引迭代代码解析
Jan 19 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
Python中return self的用法详解
Jul 27 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
使用Python实现毫秒级抢单功能
Jun 06 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
python数据类型强制转换实例详解
Jun 22 Python
详解OpenCV曝光融合
Apr 29 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中strtotime函数用法详解
2014/11/15 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
Javascript中的五种数据类型详解
2014/12/26 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
javascript中this指向详解
2016/04/23 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
python设置环境变量的原因和方法
2019/06/24 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
浅谈Python类中的self到底是干啥的
2019/11/11 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
椰子猫砂:CatSpot
2018/08/27 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
2014年社区宣传工作总结
2014/12/02 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书