当前位置:首页 >> 脚本专栏

一文解决django 2.2与mysql兼容性问题

Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。2019年12月2日,Django 3. 0发布  。

背景

Django是一个优秀的Python web框架,在使用Django2.2版本配置MySQL数据库时常会出现下面的兼容问题:

ImproperlyConfigured: mysqlclient 1.3.13 or newer is required

在网上搜索博客很多都是需要修改源码,既麻烦也不治本,下面推荐一种不修改源码的解决方式。

添加新版组件

pip install mysqlclient

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

移除旧版组建引用

pip uninstall pymysql

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

打开与项目同名的目录下的__init__.py文件删掉下面两行代码

import pymysql
pymysql.install_as_MySQLdb()

CentOS 7.x

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

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