我使用Pycharm 4,flask为0.10.1,python为3.4
当我从pycharm内部运行一个flask应用程序时,如果我用:
app.run(debug=True)我的断点被忽略了。在谷歌搜索之后,我发现为了让PyCharm在断点处停止,我应该用以下命令运行flask:
app.run(debug=True, use_reloader=False)现在PyCharm可以正确地在断点处停止,但我错过了自动重新加载功能。
有没有办法让两者协同工作?
使用python2.7,这两件事都能正常工作
我向PyCharm报告了这一点:https://youtrack.jetbrains.com/issue/PY-13976
发布于 2014-12-04 11:16:29
我将从简短的答案开始:不,您想要的东西不能在任何4.0.1之前的PyCharm版本中完成。
问题是,当您使用重载程序时,Flask应用程序在子进程中运行,因此PyCharm调试器附加到主进程,无法控制该子进程。
在我看来,解决这个问题的最好方法是让Jetbrains在他们的IDE中构建一个“更改时重启”功能。然后你根本不需要使用Werkzeug的重载器,你可以直接从PyCharm获得相同的功能。
在Jetbrains决定实现它之前,我可以分享我的解决方法,这并不是很糟糕。
可以根据需要更改代码。
我承认它并不完美,但一旦Ctrl-D进入你的肌肉记忆中,你甚至不会去想它。
祝好运!
发布于 2018-06-02 17:57:46
我发现在PyCharm 2018.1.2中,在run configuration中有FLASK_DEBUG复选框:

在进行了一些更改之后,保存文件会触发重新加载操作。
发布于 2019-01-11 06:41:18
在我的设置中,我通过运行一个设置了一些配置并调用app.run()的main.py文件来调试flask应用程序。我的python解释器设置在Docker容器中。
我的问题是我需要检查Run with Python console。

https://stackoverflow.com/questions/27087315
复制相似问题