You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装PyMySQL仍遇ModuleNotFoundError: No module named 'MySQLdb'求助

解决Flask-SQLAlchemy找不到MySQLdb的问题

问题原因

你的环境安装了PyMySQL和mysql-connector-python,但SQLAlchemy默认的MySQL方言会优先尝试加载MySQLdb(一个老旧的C语言实现的MySQL驱动),而这个库你并没有安装,也不需要安装——PyMySQL是它的纯Python替代方案,只需配置SQLAlchemy使用PyMySQL即可。

解决方案

方法1:修改数据库连接URL

直接在Flask配置中,把数据库URI的前缀从mysql://改为mysql+pymysql://,明确指定使用PyMySQL驱动:

# 示例配置
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/db_name'

方法2:注册PyMySQL作为MySQLdb的替代

如果不想修改URL,可以在项目启动的入口文件(比如start.py)最顶部添加以下代码,让PyMySQL模拟MySQLdb的接口:

import pymysql
pymysql.install_as_MySQLdb()

注意事项

  • 无需安装MySQLdb或MySQL-python,这两个库在Python3.10+环境下兼容性差,PyMySQL完全可以满足需求。
  • 确保你的数据库账号、密码、主机和库名配置正确,避免因连接信息错误导致其他问题。

内容的提问来源于stack exchange,提问作者Ciasto piekarz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:10:33