Предотвращение появления PyCharm встроенных модулей в KeyboardInterrupt и других случаях

В PyCharm при возникновении ошибки среда IDE открывает модуль, который вызвал ошибку (это особенно раздражает, когда ошибка была вызвана нажатием Ctrl+C).

Он также открывает модуль, в котором программа в настоящее время "находится" при приостановке в режиме отладки. Есть ли способ отключить это поведение для встроенных модулей? (Предпочтительно, чтобы показать исключение в любом случае, если вы хотите увидеть источник встроенного модуля)

Ответы

Ответ 1

Я принимаю награду, указав ее в правильном направлении:

применяя тот же трюк к файлу pydevd.py, строка 1793 окончательно разрешила его для меня.

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

Ответ 2

Как я уже писал ниже здесь, вы можете редактировать источник 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()