阻止 PyCharm 在 KeyboardInterrupt 和其他场合显示内置模块

Prevent PyCharm from showing builtin modules on KeyboardInterrupt and other occasions

在 PyCharm 中,当发生错误时,IDE 打开产生错误的模块(当通过按 Ctrl[=18= 产生错误时,这尤其烦人]+C).

在调试模式下暂停时,它还会打开程序当前“所在”的模块。有没有办法为内置模块禁用此行为? (如果您想要查看内置模块的源代码,最好使用一种显示异常的方法)

正如我稍后发布的那样 here 您可以编辑 PyDev 的源代码以防止部分情况发生:

首先,您必须找到 PyDev 交互式解释器的源代码(由 PyCharm 使用)。在我的 Windows 机器上,它位于 C:\Program Files (x86)\PyCharm\helpers\PyDev(路径当然不同)。

可以通过编辑文件 _pydev_imps/_pydev_execfile.py(在 PyDev 源目录中)来解决这个问题。第 18 行读取

exec(compile(contents+"\n", file, 'exec'), glob, loc)

将其包装在一个 try ... except 块中,使用以下代码作为异常处理程序

import traceback; traceback.print_exc()

我接受赏金,因为它指向了正确的方向:

对文件 pydevd.py 行 1793 应用相同的技巧终于为我解决了!!

        try:
          launch(file, globals, locals)  # execute the script
        except:
          import traceback; traceback.print_exc()