在 WSL 下 运行 时 Flask 不会重新加载修改后的代码
Flask does not reload modified code when running under 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
这个输出对我来说看起来不错,但仍然没有自动重新加载。
有什么想法吗?
备案:
可以在 this Flask GitHub issue.
上找到此问题的解决方案
我正在 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
这个输出对我来说看起来不错,但仍然没有自动重新加载。
有什么想法吗?
备案:
可以在 this Flask GitHub issue.