python-在PyCharm中调试烧瓶

我试图弄清楚如何在使用Flask(Werkzeug)调试器调试Flask应用程序和使用PyCharm的调试器之间轻松切换.我已经拥有两个PyCharm运行配置

>我用提供给应用程序脚本的“运行”和–debug标志调用的那个;和
>我用“调试”和提供给应用程序脚本的–pydebug标志调用的一个

与我的应用程序脚本中支持的标志一起使用,

if __name__ == "__main__":

    import argparse
    parser = argparse.ArgumentParser(description='Runs Web application with options for debugging')
    parser.add_argument('-d', '--debug', action='store_true', 
                        dest='debug_mode', default=False,
                        help='run in Werkzeug debug mode')
    parser.add_argument('-p', '--pydebug', action='store_true') 
                        dest='debug_pycharm', default=False,
                        help='for use with PyCharm debugger')

    cmd_args = parser.parse_args()
    app_options = dict()

    app_options["debug"] = cmd_args.debug_mode or cmd_args.debug_pycharm
    if cmd_args.debug_pycharm:
        app_options["use_debugger"] = False
        app_options["use_reloader"] = False

    application.run(**app_options)

这行得通,并且满足了我不需要编辑任何代码即可部署到服务器的要求;但我不确定这是最好的方法.首先,我需要记住,第二个配置是用PyCharm中的“调试”(不是“运行”)启动的,而第一个配置是用PyCharm中的“运行”(不是“调试”)启动的.

是否有更好的方法来支持PyCharm中的这两种调试方法,或者使用PyCharm的某些功能(例如,允许我检测何时调用了“ Debug”而不是“ Run”),或者更聪明地使用了Flask的功能.

解决方法:

检查应用程序是否在PyCharm调试器下运行的一种非常简单的方法是:

'pydevd' in sys.modules
上一篇:javascript-如何通过控制台调试变量,该变量由AngularJS中的controllerAs绑定到控制器


下一篇:Debug.waitForDebugger();在Android Studio中不起作用