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

Flask环境下Python导入本地模块报错:No module named问题排查

解决Flask项目本地模块导入失败的问题

针对你遇到的情况,试试以下几个排查和解决步骤:

  • 确认Flask运行的工作目录
    很多时候问题出在运行Flask时没有定位到root_folder。比如在命令行运行时,先cd到root_folder目录,再执行flask run;如果用VS Code的运行按钮,需要在.vscode/launch.json里设置cwd为项目根目录:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Flask",
                "type": "python",
                "request": "launch",
                "module": "flask",
                "env": {
                    "FLASK_APP": "main.py",
                    "FLASK_ENV": "development"
                },
                "args": [
                    "run",
                    "--no-debugger"
                ],
                "cwd": "${workspaceFolder}"
            }
        ]
    }
    
  • 验证PYTHONPATH是否真正生效
    手动添加的PYTHONPATH可能没被Flask的运行环境读取到。可以在main.py开头加一段代码打印当前的路径列表:

    import sys
    print("当前PYTHONPATH:", sys.path)
    

    如果输出里没有root_folder的路径,就在main.py开头手动添加:

    import sys
    from pathlib import Path
    # 将root_folder添加到路径
    sys.path.append(str(Path(__file__).parent))
    
  • 排查__init__.py的问题
    虽然你已经添加了__init__.py,但如果文件里有错误代码,会导致模块加载失败,表现为“找不到文件夹”的错误。可以先把modules目录下的__init__.py清空,再尝试导入,如果能成功,就说明原来的__init__.py存在代码问题,逐步排查里面的内容。

  • 切换启动方式测试
    试试直接用python main.py启动项目(确保main.py里有app.run()代码),如果这样能成功导入模块,说明问题出在flask run的工作目录或环境配置上,回到第一步调整工作目录即可。

  • 确认VS Code的Python解释器
    检查VS Code左下角的Python解释器是否是你项目使用的环境(比如虚拟环境),如果选错了解释器,之前设置的PYTHONPATH可能不会生效。切换到正确的解释器后,重启终端再运行项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:05:11