解决Error loading MySQLdb module. Did you install mysqlclient?不装mysqlclient进行解决

报错信息

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__)
#  我自己修改的,注释

猜你喜欢

转载自blog.csdn.net/lxb_wyf/article/details/110225853