可以在脚本中禁用 python breakpoint()(使用 VSCode 调试器)吗?

Can python breakpoint() be disabled in a script (with VSCode debugger)?

我正在尝试使用新的 (python 3.7+) breakpoint()。在初始开发期间,我希望能够禁用脚本中的所有断点。这可能吗?

我尝试在脚本顶部将 PYTHONBREAKPOINT 环境变量设置为 0,但调试器仍然在每一个处停止。环境变量是否必须在脚本初始化之前设置?还是需要设置为其他值?

我正在使用 VSCode 调试器,在虚拟环境中工作,在 windows 10.

    import os

    os.environ['PYTHONBREAKPOINT'] = "0"

    a = 1

    print(os.environ['PYTHONBREAKPOINT'])  # prints 0
    breakpoint()  # debugger still stops here

    b = 2

编辑:如果我在命令行中使用 pdb,断点将被禁用。所以它是 VSCode 调试器相关的 Edit2:似乎是 VSCode 特定于调试器的。接受的答案对我有用,但意味着不能使用不同的开发和生产环境来抑制断点,必须改为更改代码。

你可以只设置sys.breakpointhook,执行breakpoint()时调用的函数:

import sys

sys.breakpointhook = lambda *x: None  # function that does nothing

a = 1
breakpoint()
b = 2