原因:
1、未安装 MySQLdb 模块
MySQLdb 是 Python 的 MySQL 数据库连接器之一,但它不是 Python 内置模块,需要手动安装。
解决方法: 安装 MySQLdb 模块:
pip install mysqlclient
2、模块未正确导入
即使已安装 MySQLdb 模块,但未在代码中正确导入。
解决方法: 在使用 MySQLdb 前,确保在代码顶部添加:
import MySQLdb
3、MySQLdb 不兼容
如果你使用的是 Python 3,而 MySQLdb 并未完全兼容,那么可以尝试其他替代库,例如 pymysql。
解决方法: 替代 MySQLdb,使用 pymysql 连接 MySQL 数据库。
pip install pymysql
import pymysql
conn = pymysql.connect(
host=’localhost’,
user=’root’,
password=’your_password’,
database=’your_database’
)
4、使用 Django 时的问题
如果你在 Django 项目中使用 MySQLdb,但安装了 pymysql,需要在 Django 项目的 __init__.py 中添加以下内容:
import pymysql
pymysql.install_as_MySQLdb()
这样,Django 会将 pymysql 作为 MySQLdb 的替代库使用。
5、虚拟环境问题
确保当前运行 Python 的环境中已安装所需模块。如果在全局安装了模块,但运行代码的虚拟环境中未安装,会导致 ModuleNotFoundError。
解决方法: 检查虚拟环境的安装:
pip list
如果模块不存在,则安装模块。