本地服务器在运行多种Flask/Python脚本时停止更新,如何解决?

2 投票
2 回答
3465 浏览
提问于 2025-04-18 09:25

我最近在用Flask测试一些.py文件,常常查看127.0.0.1:5000,看看它们和HTML的连接是否正常。在运行.py文件后,我通常会看到以下内容:

 * Running on http://127.0.0.1:5000/
 * Restarting with reloader

不过,127.0.0.1:5000突然停止更新了,当我运行脚本后,它的内容保持不变,就像我开机后第一次运行脚本时那样(我发现重启电脑是唯一能让我重新查看工作的办法)。为了确认问题不是出在.py文件或我的模板上,我运行了Flask的Hello World示例,并设置了app.run(debug=True),但这个本地页面在运行时也没有更新。请问有什么办法解决这个问题吗?

可能与这个问题有关的两件事:
(1) 我没有使用虚拟环境,而是直接从桌面文件夹运行.py文件(虽然我遵循了Flask和模板引擎的正确格式)。

(2) 问题开始时,我用pip安装了SQLAlchemy及其Flash扩展Flask-SQLAlchemy。

2 个回答

0

没错。只需按下 'Ctrl+Shift+Esc' 就可以打开任务管理器。然后向下滚动,找到 'python3.exe' 文件,手动结束这个任务。

原因是 'ctrl+c' 对我来说不管用(它只是复制了终端窗口里的文本),所以我得手动结束在后台运行的 Python 解释器。这确实有点麻烦,但至少你不用每次都重启电脑!!

3

通过在命令行中运行 $ netstat -a -o 来查看正在运行的进程后,我发现问题并不是代码出错,而是有多个 pythonw.exe 的实例在运行。这个问题可以在任务管理器中解决。我不太明白为什么在我关闭所有 python 窗口后,这些进程还会继续运行,或者为什么它们还在和 127.0.0.1:5000 通信,所以如果有人对此有想法,我会很感激。

撰写回答