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

Python 3.x环境下flask_mysqldb无法正常运行的解决求助

解决flask_mysqldb依赖MySQLdb导致的ModuleNotFoundError问题

方法一:用pymysql伪装MySQLdb

这是最省事的解决方案,pymysql本身支持模拟MySQLdb的接口,你只需要在应用入口文件的最开头添加这段代码,必须放在导入flask_mysqldb之前:

import pymysql
pymysql.install_as_MySQLdb()

之后正常编写Flask代码即可:

from flask import Flask
from flask_mysqldb import MySQL

app = Flask(__name__)
# 填入你的数据库配置信息
app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = '你的数据库用户名'
app.config['MYSQL_PASSWORD'] = '你的数据库密码'
app.config['MYSQL_DB'] = '你的数据库名'

mysql = MySQL(app)

这样flask_mysqldb会误以为导入的是MySQLdb,实际底层使用的是兼容Python3的pymysql,完美解决依赖问题。

方法二:换用兼容Python3的Flask MySQL扩展

如果伪装方案出现不稳定情况,或者你想彻底替换依赖,可以尝试以下两个替代工具:

  • flask-mysqlconnector:专为Python3适配的MySQL扩展
    1. 先安装包:
      pip install flask-mysqlconnector
      
    2. 修改代码示例:
      from flask import Flask
      from flask_mysqlconnector import MySQL
      
      app = Flask(__name__)
      # 配置数据库参数
      app.config['MYSQL_HOST'] = 'localhost'
      app.config['MYSQL_USER'] = '你的数据库用户名'
      app.config['MYSQL_PASSWORD'] = '你的数据库密码'
      app.config['MYSQL_DB'] = '你的数据库名'
      
      mysql = MySQL(app)
      
  • flask-sqlalchemy:ORM框架,支持多数据库类型,灵活性更高
    1. 安装依赖:
      pip install flask-sqlalchemy pymysql
      
    2. 配置代码示例:
      from flask import Flask
      from flask_sqlalchemy import SQLAlchemy
      
      app = Flask(__name__)
      # 数据库URI格式:mysql+pymysql://用户名:密码@主机地址/数据库名
      app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://你的用户名:你的密码@localhost/你的数据库名'
      app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 关闭不必要的修改追踪
      
      db = SQLAlchemy(app)
      

额外检查步骤

  1. 彻底卸载旧的MySQLdb依赖:
    pip uninstall MySQL-python -y
    
  2. 确保pymysql是最新版本:
    pip install pymysql --upgrade
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:10:13