在终端执行python manage.py makemigrations
报错问题汇总
当你看到这样的错误信息,表明Django尝试加载MySQLdb模块但未找到,因为MySQLdb已被mysqlclient替代。
【解决方法】
下载pymysql并在你的项目(与settings.py
同级)目录中的__init__.py
文件中添加以下两行代码:
import pymysql pymysql.install_as_MySQLdb()
这两行代码会将pymysql伪装成MySQLdb,使Django能够识别并正确地使用MySQL数据库。
如果出现以下错误:
raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__) django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.
这表示你的mysqlclient版本过低,不满足Django的要求。你需要升级到1.3.13或更高版本。
【解决方法】
1、更新mysqlclient
pip install --upgrade mysqlclient
2、如果升级后仍然遇到问题,可能是因为Django在运行时仍然检查旧的代码逻辑。根据报错信息中base.py文件所在路径,找到该文件,注释掉异常的代码部分这将避免Django因版本检查而引发的错误。
pip list
检查其是否存在且版本符合要求。libmysqlclient-dev
(在Ubuntu上),确保这些依赖已安装。venv
或virtualenv
),请在激活的环境中执行安装操作,确保库被安装在正确的环境中。settings.py
中设置数据库配置,例如:python manage.py makemigrations
命令了。参考文档:
https://www.cnblogs.com/syywy/p/13539037.html
https://www.cnblogs.com/my_captain/p/13192502.html