gpt4 book ai didi

python - pycharm和flask自动重载和断点不起作用

转载 作者:IT老高 更新时间:2023-10-28 20:47:43 27 4
gpt4 key购买 nike

我正在使用 Pycharm 4,flask 0.10.1,python 3.4

似乎从 pycharm 内部运行 flask 应用程序时,如果我运行它:

app.run(debug=True)

我的断点被忽略了。经过一番谷歌搜索,我发现为了让 PyC​​harm 在断点处停止,我应该运行 flask :

app.run(debug=True, use_reloader=False)

现在 PyCharm 在断点处正确停止,但我错过了自动重新加载功能。

有没有办法让两者一起工作?

使用 python 2.7 两种方法都可以

我将此报告给 PyCharm:https://youtrack.jetbrains.com/issue/PY-13976

最佳答案

我将从简短的回答开始:不,您想要的任何 PyCharm 4.0.1 版本都无法完成。

问题在于,当您使用重新加载器时,Flask 应用程序在子进程中运行,因此 PyCharm 调试器附加到主进程并且无法控制子进程。

在我看来,解决此问题的最佳方法是要求 Jetbrains 在其 IDE 中构建“更改时重启”功能。然后,您根本不需要使用 Werkzeug 的重新加载器,您可以直接从 PyCharm 获得相同的功能。

在 Jetbrains 决定实现之前,我可以分享我的解决方法,这还不错。

  • 在“编辑配置”中,将您要使用的配置设置为“仅单实例”(对话框右上角的复选框)
  • 确保配置是事件的。
  • 将您的 Flask 应用配置为不使用 Werkzeug 重新加载器。
  • 按 Ctrl-D 开始调试(在 Mac 上,其他人可能有不同的快捷键)
  • 断点应该可以正常工作,因为重新加载器未处于事件状态。
  • 进行任何您需要的代码更改。
  • 当您准备好重新启动时,再次按 Ctrl-D。第一次执行此操作时,您会收到确认提示,例如“停止并重新启动?”。说是,然后选中“不再显示”复选框。
  • 现在您可以在需要时按 Ctrl-D 快速重启调试器。

我同意它并不完美,但是一旦 Ctrl-D 进入你的肌肉内存,你甚至都不会去想它。

祝你好运!

关于python - pycharm和flask自动重载和断点不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27087315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com