ubuntu在py项目虚拟环境中报错django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
问题描述——django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
问题原因
在py项目虚拟环境中没有安装mysqlclient`
如果安装了,还是报错,说明要在源码加点代码
解决方法
安装
Django使用MySQL数据库需要加载 MySQLdb模块,需要安装 mysqlclient,若已经安装请略过。 (Django2.2版本之前我们安装的是pymysql模块,不过现在使用的mysqlclient )
`pip install mysqlclient`
通常安装 mysqlclient 会遇到报错得,可以参考这个博客解决:
`https://blog.csdn.net/Deng872347348/article/details/127152514?spm=1001.2014.3001.5501`
如果这个博客解决不了,就使用终极方法:
在win的py环境里面,把安装好的模块文件夹,通过远程工具上次到ubuntu 虚拟机里面的py环境的里面
可以参考这个博客,安装win和ubuntu虚拟机互相传输的工具
https://blog.csdn.net/m0_60028455/article/details/125502466
找到win本地的 模块包存放路径
虚拟机里面的目录:
通过这个目录找到虚拟机里面的虚拟环境的路径
同一样的是虚拟机里面的虚拟环境路径 目录里面lib文件夹里面的site-packages 用远程传输工具传输
上面截图是以win上面的虚拟环境,提供的参考
上传后,重新配置一下Pycharm里面的解释器环境
后面用 pip list命令查看是否引入成功
引入成功。
已安装情况下仍然报错
报错内容为找不到mysqlclient django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
通常解决办法
项目(settings.py同级)目录中__init__.py中添加
import pymysql
pymysql.install_as_MySQLdb()
settings.py文件在settings文件夹里面所以同级是settings同级的
如果上面不行,就修改报错源码里面代码,也是在源码里面加上上面2行代码
2行代码加到这个报错的源码里面
import pymysql
pymysql.install_as_MySQLdb()
也可以加一行版本信息代码
问题解决,
|