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

重构Flask测试应用时出现ModuleNotFoundError导入错误如何解决?

错误原因
  • 模块名不匹配是核心问题:你的内层passless包中存储视图逻辑的文件命名为index.py,但/passless/passless/__init__.py中尝试导入的是passless.views模块,项目中不存在views.py文件,因此触发ModuleNotFoundError。
解决方案

你可以任选以下任意一种方案修复问题:

方案1:修改导入语句匹配现有文件名

将/passless/passless/__init__.py中的导入代码:

import passless.views

修改为:

# 绝对导入写法
import passless.index
# 也可以用更规范的包内相对导入写法
# from . import index

如果你的路由逻辑都写在index.py中,修改完成后重启容器即可正常运行。

方案2:修改文件名匹配Flask官方包模式约定

将内层passless包中的index.py重命名为views.py,完全符合你参考的Flask包模式的命名规范,不需要修改导入语句,重启容器即可生效。

注意:你的docker-compose配置中已经将本地项目目录挂载到容器内的/app目录,本地修改的文件会实时同步到容器中,修改完成后执行docker-compose restart web重启服务即可验证修复结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:48:03