首页 > 解决方案 > Flask 在 WSL 下运行时不会重新加载修改后的代码

问题描述

我正在 Linux 机器上开发一个Flask应用程序,当我修改 Python 源代码文件时(在调试模式下运行时),它会正确地重新加载自身。有时虽然我需要在 Windows 机器上使用 WSL 进行开发,但使用相同的 Flask 应用程序源。这基本上可以正常工作,但是,在 WSL 下,自动重新加载功能似乎不再起作用。我可以更改 Python 源,但没有任何反应——我需要手动关闭并重新启动 Flask 服务器。

这是 WSL 下的已知错误吗?我需要以某种方式启动 Flask 应用程序吗?
作为参考,这是我在 VS Code 下启动应用程序的方式:

"configurations": [
    {
        "name": "Run Server",
        "type": "python",
        "request": "launch",
        "module": "flask",
        "env": {
            "FLASK_APP": "run.py",
            "FLASK_ENV": "development",
        },
        "args": [
            "run"
        ],
    }
]

...它使用以下输出启动 WSL 下的 Flask 应用程序:

 * Serving Flask app "run.py" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with inotify reloader
 * Debugger is active!
 * Debugger PIN: 182-804-918

该输出对我来说看起来不错,但仍然没有自动重新加载。
有任何想法吗?

标签: pythonflaskwindows-subsystem-for-linux

解决方案


记录:
这个问题的解决方案可以在这个 Flask GitHub 问题上找到。


推荐阅读