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

Windows下Flask加载已删除页面,app.py修改不生效问题排查

问题现象
  • Windows环境下通过python app.py启动Flask服务,已从app.py中删除/new_data_table路由,但访问该地址仍能正常加载
  • 修改app.py后多次重启服务,代码变更始终不生效
  • 已删除.ipynb_checkpoints、__pycache__文件夹,问题依旧
  • 执行flask routes仅显示默认static路由,但旧路由仍可访问

当前app.py代码:

from flask import Flask

app = Flask(__name__)
app.debug = True

if __name__ == "__main__":
    app.run(debug=True)

启动日志异常输出:

PS C:\Users\Documents\main> python app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with watchdog (windowsapi)
 * Debugger is active!
 * Debugger PIN: 372-211-807
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Detected change in 'C:\\Users\\Documents\\main\\.ipynb_checkpoints\\app-checkpoint.py', reloading
 * Restarting with watchdog (windowsapi)
 * Debugger is active!
 * Debugger PIN: 372-211-807
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Detected change in 'C:\\Users\\Documents\\main\\.~app.py', reloading
 * Detected change in 'C:\\Users\\Documents\\main\\.~app.py', reloading
 * Detected change in 'C:\\Users\\Documents\\main\\.~app.py', reloading
 * Detected change in 'C:\\Users\\Documents\\main\\app.py', reloading
 * Detected change in 'C:\\Users\\Documents\\main\\app.py', reloading
 * Detected change in 'C:\\Users\\Documents\\main\\.~app.py', reloading
 * Restarting with watchdog (windowsapi)
 * Debugger is active!
 * Debugger PIN: 372-211-807
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
排查与解决步骤

1. 清理隐藏临时文件

从启动日志可见,Flask的watchdog频繁检测到.~app.py文件变化,这是Windows下部分编辑器生成的自动备份临时文件,Flask懒加载机制可能误加载该文件:

  • 打开文件资源管理器,开启「显示隐藏文件」选项
  • 删除项目目录下的.~app.py文件
  • 彻底终止所有Python进程(任务管理器中结束python.exe进程)后重新启动服务

2. 清除浏览器缓存

浏览器可能缓存了旧路由页面,导致后端路由删除后仍能显示:

  • 按Ctrl+Shift+Delete打开缓存清除界面,勾选「缓存的图片和文件」,选择「全部时间」后清除
  • 使用无痕窗口访问http://127.0.0.1:5000/new_data_table测试

3. 强制指定Flask加载文件

启动时显式指定加载文件,避免加载缓存或临时文件:

set FLASK_APP=app.py
set FLASK_ENV=development
flask run

执行后重新运行flask routes,确认路由列表正确。

4. 检查残留后台进程

Windows下可能存在未终止的Flask后台进程,导致旧代码持续运行:

  • 打开任务管理器「详细信息」标签
  • 结束所有python.exe进程
  • 重新启动Flask服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:10:14