本地服务器在运行多种Flask/Python脚本时停止更新,如何解决?
我最近在用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
通信,所以如果有人对此有想法,我会很感激。