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

Windows11环境下Flask服务已启动但未生成访问链接的解决咨询

Flask应用启动无链接输出、无打印信息排查方案

问题描述

Windows 11系统下运行Flask应用,终端仅显示服务启动和debug模式开启,但无访问链接、无报错,也看不到代码中设定的打印语句。

终端输出

(venv) PS C:\smartfin_ai> python app.py
 * Serving Flask app 'app'
 * Debug mode: on

app.py代码

from flask import Flask
from core.routes import routes as main_blueprint
from core.config import Config
import logging
import os
from dotenv import load_dotenv

# Load environment variables from .env
load_dotenv()

def create_app():
    app = Flask(__name__)

    # Set configuration from Config class
    app.config.from_object(Config)

    # Register Blueprint from routes
    app.register_blueprint(main_blueprint)

    # Ensure logs directory exists
    os.makedirs("logs", exist_ok=True)

    # Set up basic logging
    logging.basicConfig(
        filename="logs/app.log",
        level=logging.INFO,
        format="%(asctime)s %(levelname)s %(message)s"
    )

    logging.info("SmartFin AI Flask app initialized.")

    return app
if __name__ == "__main__":
    app = create_app()
    app.run(debug=True, host='127.0.0.1', port=5050, use_reloader=False)
    print("SmartFin AI is running! Visit http://127.0.0.1:5050 in your browser.")

排查解决步骤

  • 定位create_app函数阻塞点
    在create_app函数的return app前添加print("create_app执行完成"),运行后观察是否输出。若没有,逐一排查内部步骤:

    • 检查.env文件:确认文件存在、路径正确,内部键值对格式无错误(无多余空格、引号匹配)。
    • 验证蓝图注册:检查core.routes.routes蓝图是否正确定义,导入路径无误,蓝图内部无阻塞代码(如数据库连接初始化卡住)。
    • 排查Config类:确认core.config.Config中的配置项无耗时操作或静默失败的逻辑(如读取外部资源未抛出异常)。
  • 调整启动逻辑验证
    将print语句移到app.run()之前(app.run()是阻塞调用,正常情况下服务停止后才会执行后续代码),同时临时关闭debug模式测试:

    if __name__ == "__main__":
        print("准备创建应用实例...")
        app = create_app()
        print("应用实例创建完成,启动服务...")
        app.run(debug=False, host='127.0.0.1', port=5050, use_reloader=False)
    

    运行后根据打印输出定位阻塞阶段。

  • 检查日志文件
    查看项目根目录下的logs/app.log,确认是否存在SmartFin AI Flask app initialized.日志。若不存在,说明create_app未执行到日志写入步骤;若存在,问题出在app.run()调用阶段。

  • 排查端口占用
    打开系统CMD或PowerShell,执行netstat -ano | findstr :5050,查看5050端口是否被其他进程占用。若被占用,修改app.run()的port参数为未使用端口(如5051)。

  • 升级Flask版本
    执行pip show flask查看当前版本,若版本过旧,运行pip install --upgrade flask升级到稳定版本,部分旧版本Flask在debug模式下的输出逻辑存在差异。

  • 切换终端环境测试
    避开VSCode终端,直接在系统原生PowerShell或CMD中激活虚拟环境后运行python app.py,排除VSCode终端输出过滤或配置问题。

内容的提问来源于stack exchange,提问作者S.VEDHAPRIYAA

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:39:57