报错信息
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
- 在进行迁移模型类进行创建表时, 因为缺少去MySQL进行交互的插件
mysqlclient
- mysqlclient这个东西对我来讲非常的难装, 有成功过的情况, 大部分为失败,最近又装失败,把虚拟都还原啦(快照保命)
解决方案
- 在虚拟环境中安装
pymysql
pip install pymysql
- 然后在
setting.py
同级目录下的__init__.py
文件中写入(或者在app(子应用)同级目录下的__init__.py
文件增加也行)
import pymysql
pymysql.install_as_MySQLdb()
- 上面应该就可以解决大部分情况了, 但是可能还会出现版本问题,报错信息如下
File "/home/wyf/.virtualenvs/test_python3.7/lib/python3.7/site-packages/django/db/backends/mysql/base.py", line 36, in <module>
raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.1.
再次解决
- 直接点击最后一行报错信息的文件路径就会进入(
python3.7/site-packages/django/db/backends/mysql/base.py
)这个文件,大概是36行 - 然后直接注释掉
# if version < (1, 4, 0):
# raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)
# 我自己修改的,注释