小编v0l*_*lta的帖子

如何关闭“Evaluating: plt.show() 在 3.00s 秒后没有完成”。VsCode 调试器中的警告?

我经常通过在 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 设置为某个值,以便调试器尝试中断评估(如果可能)当这个情况发生时。

python visual-studio-code vscode-debugger

2
推荐指数
1
解决办法
1690
查看次数