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

导入flask.ext触发ModuleNotFoundError的原因排查

解决Flask扩展导入时的ModuleNotFound错误

这个问题我之前踩过坑!核心原因是你用的是Flask旧版本的扩展导入语法,现在已经被官方彻底弃用了,所以才会抛出模块找不到的错误。

具体原因

在Flask 1.0版本之前,官方推荐用flask.ext.xxx的方式导入扩展,但后来为了简化扩展的维护和结构,官方移除了flask.ext这个导入路径,同时也删掉了flask.exthook相关的兼容模块——这就是你遇到ModuleNotFound的直接原因。

正确的解决方法

把旧的导入语句改成直接从扩展的包名导入就行,举几个常见例子:

  • 原来的 from flask.ext.sqlalchemy import SQLAlchemy → 改成 from flask_sqlalchemy import SQLAlchemy
  • 如果是其他扩展,比如Flask-Login:from flask.ext.login import LoginManager → from flask_login import LoginManager

额外验证步骤

  1. 确认你安装的是正确的扩展包:比如SQLAlchemy对应的包是flask-sqlalchemy(注意安装时是短横线,导入时是下划线),可以用pip list命令查看已安装的包,确认存在对应的扩展。
  2. 如果是旧项目需要临时兼容,可以安装flask-exthook包,但这只是权宜之计,官方强烈建议直接迁移到新的导入方式,避免后续版本的兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:41:57