解决Django报错 : No module named ‘MySQLdb‘

Django的版本是2.0,Python的版本号是3.6.4

在models.py创建好了模型类之后使用命令:python manage.py makemigrations 进行迁移,但是突然报错:ImportError:No module named 'MySQLdb'

查询了相关资料发现python2.x版本是支持mysqldb, 在python3环境下安装mysqldb会报错:

但是在python3.x版本已经不支持mysqldb,而是使用pymysql代替了mysqldb,但是django中默认使用的还是mysqldb,这个就比较坑人了,所以会出现这个错误,要想解决这个问题只需要在应用的根目录的__init__.py这个文件中加入如下代码就可以解决问题:

扩展:

mysqldb和pymysql都是python用于连接mysql的接口,如果你使用的python2.x的环境的话,使用pip进行安装的时候可以使用:pip install MySQL-python,则这时候就不需要在__init__.py中添加上面的那两行代码

如果使用的是python3.x的环境,同样使用pip进行安装的时候输入一下命令就可以:pip install pymysql

当然这时候需要注意的是在项目app的__init__.py文件中输入:

import pymysql

pymysql.install_as_MySQLdb()

相关推荐
Birdy_x1 小时前
接口自动化项目实战(1):requests请求封装
开发语言·前端·python
我爱学习好爱好爱1 小时前
Ansible 常用模块详解:lineinfile、replace、get_url实战
linux·python·ansible
一轮弯弯的明月3 小时前
Python基础-速通秘籍(下)
开发语言·笔记·python·学习
千寻girling4 小时前
面试官 : “ 说一下 Python 中的常用的 字符串和数组 的 方法有哪些 ? ”
人工智能·后端·python
第一程序员4 小时前
Python基础学习路径:非科班转码者的入门指南
python·github
u0136863824 小时前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
smchaopiao5 小时前
Python中字典与列表合并的问题与解决方法
开发语言·python
卡尔特斯5 小时前
Ultralytics YOLO26 自动对指定标注文件夹区分标注素材脚本与训练脚本
python·openai
2501_921649495 小时前
期货 Tick 级数据与基金净值历史数据 API 接口详解
开发语言·后端·python·websocket·金融·区块链
njidf5 小时前
实战:用Python开发一个简单的区块链
jvm·数据库·python