阻止 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()
在 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()