【问题标题】:How to get Intellij-idea close Flask dev server properly?如何让 Intellij-idea 正确关闭 Flask 开发服务器?
【发布时间】:2011-09-27 19:05:50
【问题描述】:

我使用 IDEA 10.5 进行 Flask 实验。 Flask 已经嵌入了测试服务器(就像 Django 一样)

当我启动我的测试类时,开发服务器也在端口 5000 上启动。一切都很好。 * 在http://127.0.0.1:5000/上运行

当我点击“停止进程”按钮(红色方块)时,我收到消息说进程已完成: 进程以退出代码 143 结束

但是服务器仍然活着(响应请求),我可以看到我仍然有一个 python 进程在运行。

显然这会阻止我立即重新启动测试,我必须先终止服务器进程。

你如何设法让你的程序和服务器同时结束?

【问题讨论】:

    标签: python macos intellij-idea flask pycharm


    【解决方案1】:

    我猜会发生什么,你启动了你的烧瓶应用程序,然后将开发服务器作为一个新进程分叉。如果您停止应用,分叉的进程仍在运行。

    这看起来像是一个问题,在您的 IDE 中无法轻易解决。在再次启动应用程序之前,您可以在 main 中添加一些东西来终止已经运行的服务器进程,但这看起来很难看。

    但是你为什么不直接使用app.run(debug=True) as described in flask doc 来启动你的应用呢?每次您更改应用程序时,服务器都会自动重新加载,因此您不必手动停止并重新启动它。

    编辑: 我突然想到了一些奇怪的事情:如果您只需要一种从 IDE 中杀死服务器的舒适方法,您所要做的就是在重新加载器监控的地方之一引入语法错误,保存文件和服务器会窒息而死:)

    【讨论】:

    • 我已经在调试错误中运行,这减少了我必须重新加载服务器的次数。
    • 为什么只会减少次数?哪些情况下需要手动重启服务器?
    • 不考虑变化时……时不时会发生,不知道为什么
    • 当我更改某些设置时,我必须重新加载服务器,例如,从 YAML 文件加载的设置,它看起来不会重新加载这些设置。所以我已经杀死了python进程并再次运行它。
    【解决方案2】:

    新版本不再发生这种情况(使用 PyCharm 2.0 测试)

    【讨论】:

    • 你确定你不再面临这个问题了吗?对我来说,使用最新的 PyCharm 它仍然不会杀死 python 进程。
    猜你喜欢
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多