彻底解决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
问题完美解决(欢迎留言)
原创文章请随便转载。愿和大家分享,并且一起进步。-- 江 coder