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

从GitHub克隆Flask应用本地运行报错:无法定位Flask应用

报错根因

你看到的报错:

Could not locate a Flask application.
You did not provide the "FLASK_APP" environment variable,
and a "wsgi.py" or "app.py" module was not found in
the current directory.

是Flask启动时的入口查找失败问题,触发逻辑非常明确:Flask启动时会先读取FLASK_APP环境变量找应用入口,如果你没配置这个变量,它会自动在当前执行命令的目录下找默认命名的app.py或wsgi.py文件,这两个查找路径都没命中的时候就会抛这个错。

排查解决步骤
  • 先核对终端当前工作目录
    执行启动命令前先确认你所在的目录是项目代码所在的正确目录,很多人克隆完仓库没cd进项目文件夹,或者进错了深层子目录就直接跑flask run,自然找不到文件。Windows终端执行cd、Mac/Linux终端执行pwd就能看到当前路径,切到正确目录后先看目录下有没有app.py/wsgi.py,有的话直接启动即可。
  • 定位项目实际入口文件
    开源Flask项目不会都用默认的入口命名,你可以全局搜项目里带Flask(__name__)实例化代码的py文件,常见的非默认入口名包括run.py、main.py、和项目同名的py文件(比如项目叫todo的话入口可能是todo.py)。
  • 手动配置FLASK_APP环境变量指定入口
    找到入口文件后,在执行flask run前先按你用的终端设置环境变量:
    • Windows CMD终端:set FLASK_APP=你找到的入口文件名.py
    • Windows PowerShell终端:$env:FLASK_APP = "你找到的入口文件名.py"
    • Mac/Linux bash/zsh终端:export FLASK_APP=你找到的入口文件名.py
      配置完再执行flask run即可正常启动。
  • 工厂模式特殊适配
    如果项目用Flask应用工厂模式(入口文件里没有直接定义app变量,而是写了create_app()这类返回app实例的函数),配置FLASK_APP的时候要把工厂方法加上,比如export FLASK_APP=myapp:create_app(),Flask才能正确加载实例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:48:35