如何关闭“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 设置为某个值,以便调试器尝试中断评估(如果可能)当这个情况发生时。

回答

如果找到一种方法来调整处理这个问题的 launch.json。

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "env": {"DISPLAY":":1",
                    "PYTHONPATH": "${workspaceRoot}",
                    "PYDEVD_WARN_EVALUATION_TIMEOUT": "500"},
            "cwd": "${workspaceFolder}",
            "console": "integratedTerminal"
        }
    ]
}


以上是如何关闭“Evaluating:plt.show()在3.00s秒后没有完成”。VsCode调试器中的警告?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>