gpt4 book ai didi

python-3.x - 为什么VSCode显示不存在的 'problems'?

转载 作者:行者123 更新时间:2023-12-04 09:34:21 34 4
gpt4 key购买 nike

我正在使用带有 python 扩展的 VSCode。 “问题”选项卡以及“资源管理器”选项卡上的指示器和代码 View 本身的红色下划线都显示存在错误,即使该错误不是真实的。
导入后matplotlib.pyplotplt ,代码使用plt.cm.RdBu . VSCode 出现 matplotlib.cm 的错误。没有成员(member)RdBu .
这里有两个问题:

  • 除非我弄错了,plt.cm.RdBu应该等于 matplotlib.pyplot.cm.RdBu ,而不是 matplotlib.cm.RdBu .这似乎是错误的解释。
  • 但不管怎样,cmpyplot.cm实际上确实有一个名为 RdBu 的属性, 这两个我都能够提取信息以使用 help() .代码运行完美,python 没有抛出任何错误。

  • 为什么 VSCode 告诉我这是一个错误,而实际上不是?这只是一个错误还是可能是错误配置?

    最佳答案

    不幸的是,似乎没有办法解决这个问题。 VS Code,或者更具体地说,Python 扩展使用的 linter 没有使用 matplotlib.pyplot.cm.RdBu 的原因,或在 cm 中定义的任何其他颜色图是因为它们是动态定义的。如果你试着往里看cm.py ,你只会发现这个:

    cmap_d = _gen_cmap_d()
    locals().update(cmap_d)
    本质上,不是像 RdBu = ... 那样静态定义。 ,这些颜色图是通过在运行时注入(inject)模块的全局命名空间来动态定义的。即使运行时它运行良好,但不幸的是,这意味着 linter 无法知道诸如 RdBu 之类的名称。存在于命名空间中直到运行时。和大多数短绒一样,如 pylintflake8是从不实际执行代码的静态代码分析工具,因此它们不可能检测到这些颜色图的存在。

    关于python-3.x - 为什么VSCode显示不存在的 'problems'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62666165/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com