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

flask.ext目录为空仅含__init__文件,更新Flask仍无法解决

解决Flask中flask.ext目录仅含__init__文件的问题

嘿,我完全懂你现在的困惑!其实这个问题和Flask版本迭代后的设计变化直接相关,不是你操作出错啦~

问题根源

从Flask 0.12版本开始,官方就弃用了flask.ext这个导入路径,转而推荐直接使用扩展的原生包名来导入。现在新版本的Flask里,flask.ext目录只是一个为了兼容极旧代码保留的空壳,里面只会有一个__init__.py文件,实际的扩展代码根本不会放在这里——这也是你更新Flask后问题依然存在的原因,因为更新后这个目录的作用就只是兼容而已。

解决方案

你只需要调整扩展的导入方式,同时确保对应扩展已正确安装:

  • 第一步:确认你需要的Flask扩展已安装。打开终端运行pip list,查看是否有类似flask-xxx格式的包(比如flask-sqlalchemy、flask-login)。如果没有,用pip install flask-xxx安装对应的扩展。
  • 第二步:修改代码中的导入语句。把原来的from flask.ext.xxx import ...改成from flask_xxx import ...。举个例子:
    # 旧写法(已弃用)
    from flask.ext.login import LoginManager
    
    # 新写法(推荐)
    from flask_login import LoginManager
    
  • (可选)如果因为特殊原因必须保留旧的flask.ext导入方式,可以安装flask-compat包来临时兼容,但这只是过渡方案,强烈建议迁移到新的导入方式,避免后续版本兼容问题。

额外提醒

现在所有主流的Flask扩展都已经适配了新的导入方式,迁移后不仅能解决当前的目录问题,还能让你的代码更符合Flask的最新规范,减少未来版本更新带来的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:38:13