彻底解决django 2.2以上版本与mysql兼容性问题(不用改源码)

背景

2.2是django最新一个稳定的LTS版本,但是大部分人在升级过程中都遇到了兼容性问题,也就是下面这个异常:

ImproperlyConfigured: mysqlclient 1.3.13 or newer is required

这个问题纠结我了好长时间,网上的解决办法都是复制粘贴:改源码;心中一万中草泥马。我们要相信,身为Python界元老级的框架不可能犯这种错误,而且最新的补丁包已经是2.2.10

修复

1、添加新版组件

pip install mysqlclient

如果你项目根目录下有这个文件,直接打开添加mysqlclient即可:requirements.txt

2、移除旧版组件引用

pip uninstall pymysql

如果你项目根目录下有这个文件,直接打开删除pymysql即可:requirements.txt

打开根目录下的manage.py文件,找到下面两行代码:

import pymysql

pymysql.install_as_MySQLdb()

删除掉

3、CentOS 7.x

如果部署失败,提示找不到mysqlDB,执行以下命令:

yum install python36-devel -y
yum install mysql-devel -y
yum install gcc -y

问题完美解决(欢迎留言)

原文地址:https://www.cnblogs.com/jiangxiaobo/p/12375026.html