有没有标志我可以检查我的代码以查看 PyCharm 的调试器是否正在运行?

Is there a flag I can check in my code to see if PyCharm's debugger is running?

我想在我的代码中执行一些操作,条件是 PyCharm 调试器是否已连接并正在运行 — 例如,我已经使用 IDE 的 "Debug" 命令启动了我的代码;像

if pycharm_debugger_is_running:
    do_something()
else:
    do_another_thing()

有办法吗?

自 Pycharm 调试器 has been merged with Pydev's, you may like this answer

编辑

为了判断脚本是否由Pycharm启动,我可以想到在Run/Debug Configurations

中手动添加自己的环境变量

然后检查它:

if 'PYCHARM' in os.environ:
    print("running in Pycharm")

实际上最方便的方法可能是直接编辑默认 运行 配置以自动将该标志集成到任何新的 运行.

虽然设置您自己的环境变量有效,但我想要一些不可变的东西,所以我不可能忘记包含,或者必须向每个项目配置添加一些东西。我发现在模块中 PyCharm loads.

import sys

we_are_in_pycharm = '_pydev_bundle.pydev_log' in sys.modules.keys()

if we_are_in_pycharm:
    print("running in Pycharm")