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对小数进行除法运算的正确方法示例
Aug 25 Python
python访问类中docstring注释的实现方法
May 04 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python Selenium 之数据驱动测试的实现
Aug 01 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
pycharm中leetcode插件使用图文详解
Dec 07 Python
Spy++的使用方法及下载教程
Jan 29 Python
python如何利用traceback获取详细的异常信息
Jun 05 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
destoon二次开发常用数据库操作
2014/06/21 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
Python实现进程同步和通信的方法
2018/01/02 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
Python如何把十进制数转换成ip地址
2020/05/25 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
CSS3 滤镜 webkit-filter详细介绍及使用方法
2012/12/27 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
旅游专业职业生涯规划范文
2014/01/13 职场文书
初三新学期计划书
2014/05/03 职场文书
素质教育标语
2014/06/27 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
2014年信用社工作总结
2014/11/25 职场文书
大连星海广场导游词
2015/02/10 职场文书
经理聘任证明
2015/03/02 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js