debugging Visual Studio程式码两柴主控台中的pydevd警告

yhxst69z  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(741)

我已经找了一段时间,但没有找到任何相关的问题。
当使用Visual Studio Code with Python扩展对大型元素进行调试时,计算表示或获取属性可能需要一些时间。
在这些情况下,警告如下:
pydevd警告:计算...( Dataframe )的repr速度缓慢(耗时0.84秒)
打印到调试控制台(另请参阅https://www.pydev.org/history_pydev.html)。
更烦人的是,左下角出现了一个弹出窗口。
是否有任何方法可以禁用这些警告,尤其是与此警告相关的弹出窗口?
我或多或少地尝试了我在VisualStudio代码调试中发现的关于日志记录和警告的一切。
一个最小的例子如下所示

import pandas as pd

df = pd.read_csv('file of 1GB')

df

这个警告不是在特定行上的警告,而是调试器在每次使用大对象时发出的警告(例如,只是打印或使用操作df.some_operation())。

  1. Screenshot of warning at breakpoint
  2. Screenshot of warning everytime the object is printed in the debug console
zujrkrfu

zujrkrfu1#

正如Fabio Zadrozny所建议的,您可以将环境变量PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT更改为首选时间。
我通过在Visual Studio代码中的“launch.json”文件中添加以下行来修复它。

"env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"}

所以我的“launch.json”看起来像这样:

...
"launch": {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"}
        }
    ]
}
...
owfi6suc

owfi6suc2#

在这里,您可以设置一个环境变量,以便在报告超时之前更改它。
请注意,默认值为0.15s(使用一个较小的数字,因为在repr期间会出现数千个这样的小延迟,调试器可能看起来像是卡住了,而实际上是因为用户代码太慢,无法计算其repr)。
您可以通过设置环境变量来更改它,例如:
PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT=2
(this将超时更改为2秒)。
请注意,这里真实的的修复将是Pandas改善其repr实现,使其更快...

相关问题