【问题标题】:Python warnings are not shown in VSCode notebooksVSCode 笔记本中未显示 Python 警告
【发布时间】:2020-05-24 21:24:50
【问题描述】:

我不确定这种情况何时开始发生,但我意识到 Python 警告并未显示在 VSCode 内的 Jupiter 笔记本单元格中。要重现问题,请使用以下代码:

import warnings  
warnings.warn('Warning Message') 

当我在单元格中运行它时,这没有给我任何东西,但是当我从 VSCode 终端(来自 .py 代码)运行它时,我得到:

 UserWarning: Warning Message
  warnings.warn('Warning Message')

我的.vscode/settings.json 只包含:{ "python.pythonPath": "venv/bin/python" }

我在 VSCode v.1.45.1 中使用 Python 3.8 和 Python 扩展 2020.5.80290

这是一个错误还是我遗漏了什么?

【问题讨论】:

    标签: python visual-studio-code vscode-settings


    【解决方案1】:

    根据 Python 的默认 warnings filter 的运行方式,这按预期工作。您可以通过多种方式override the default filter,具体取决于您要完成的工作。例如,如果您希望警告显示一次,那么您可以使用warnings.simplefilter("default")

    【讨论】:

    • 谢谢。我确实使用了simplefilter,但我不应该需要它。但为什么你认为它“按预期工作”?上面的代码在终端而不是笔记本编辑器中打印警告。事实上,VSCode 团队刚刚确认这是一个 bug。
    • 啊,对不起,我误会了。您的问题并没有向我暗示它正在打印到终端您正在笔记本中执行;我在您在笔记本外测试时阅读了它,并且警告按预期工作。
    • 不用担心。不过谢谢你的回答。这是目前唯一有效的临时解决方案
    最近更新 更多