【问题标题】:Unresolved attribute reference issue in PyCharm in doc stringPyCharm 文档字符串中未解决的属性引用问题
【发布时间】:2020-04-24 17:54:43
【问题描述】:

当我使用attrs 库创建类时,PyCharm 中的 docstring 显示 linting 错误未解决的属性引用

另一方面,当我通常使用__init__ 方法创建类时。它没有显示这样的错误。

我无法弄清楚这个错误是由于attrs 或 PyCharm 而产生的,因为attrs 默认情况下具有所有必要的用于 mypy 类型检查的存根。在使用attrs 时,到目前为止,除了文档字符串中的这次之外,我找不到任何 linting 错误。


import attr


@attr.s
class UsingAttrs:
    """
    class created using attrs shows linting error.

    Attributes
    ----------
    attribute_with_attr : str
    """
    attribute_with_attr: str = attr.ib(default='some_string_value')


class NotUsingAttrs:
    """
    class created normally does not show linting error.

    Attributes
    ----------
    attribute_without_attr : str
    """
    attribute_without_attr: str

    def __init__(self, param='some string value'):
        self.attribute_without_attr = param

Linting 错误如下图所示 --

任何帮助将不胜感激。

【问题讨论】:

标签: python pycharm python-attrs


【解决方案1】:

这是 PyCharm 中的一个错误。 attrs 对他们的分析无能为力,尤其是考虑到检查文档字符串完全是他们的功能。 AFAIK 他们根本不在内部使用 mypy 并且必须自己重新实现所有内容。

附:如果你使用@attr.s(auto_attrib=True),你可以只写attribute_with_attr: str = "some_string_value"

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2014-02-09
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多