我经常通过在 vscode 调试器中绘制 NumPy 数组来调试我的 python 代码。我经常花超过 3 秒的时间看一个情节。当我执行 vscode 时,会打印出下面很长的警告。这很烦人,因为我必须一直向上滚动才能看到以前的调试输出。这个 PYDEVD_WARN_EVALUATION_TIMEOUT 变量在哪里?我如何关闭它?
为了完整性,我在下面包含了警告,非常感谢您的帮助!
评估:plt.show() 在 3.00s 秒后没有完成。这可能意味着很多事情:
这个评价真的很慢,这是意料之中的。在这种情况下,可以通过提高超时时间来消除此错误,将 PYDEVD_WARN_EVALUATION_TIMEOUT 环境变量设置为更大的值。
评估可能需要其他线程在运行时运行:在这种情况下,可以设置 PYDEVD_UNBLOCK_THREADS_TIMEOUT 环境变量,以便如果在给定的超时后评估没有完成,其他线程将被解除阻塞,或者您可以手动恢复所有线程。
或者,也可以通过
pydev_do_not_trace = True在相关的 threading.Thread 实例中设置属性来跳过特定线程的中断 (如果某个线程应该始终运行并且预计不会在其中命中断点)。评估已死锁:在这种情况下,您可以将 PYDEVD_THREAD_DUMP_ON_WARN_EVALUATION_TIMEOUT 环境变量设置为 true,以便与此消息一起显示线程转储,并且可以选择将 PYDEVD_INTERRUPT_THREAD_TIMEOUT 设置为某个值,以便调试器尝试中断评估(如果可能)当这个情况发生时。