Предотвращение появления 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()