设置 pyflake 和 mypy 忽略同一行
Posted
技术标签:
【中文标题】设置 pyflake 和 mypy 忽略同一行【英文标题】:Set pyflake AND mypy ignore same line 【发布时间】:2018-12-13 05:11:04 【问题描述】:我为 Salt 编写了一个模块。通过documentation,它将__salt__
对象添加到builtins
。所以,pyflake 警告我 __salt__
在我运行 prospector 时是未定义的,而 mypy 也是这样说的,__salt__
是未定义的!我可以忽略带有# noqa: F821
的pyflake 或带有# type: ignore
的mypy。
问题是!如何忽略他们两个?
【问题讨论】:
代码,赞成。 在行尾试试# type: ignore # noqa
?
感谢@vahdet 它有效!
【参考方案1】:
PEP 484 在 section on type comments 的末尾指定以下内容:
在某些情况下,可能需要将 linting 工具或其他 cmets 与类型注释放在同一行。在这些情况下,类型注释应该在其他 cmets 和 linting 标记之前:
# type: ignore # ~comment or other marker~
因此,正如 Ryan Tam 所建议的,# type: ignore # noqa
是忽略两者的正确方法。
【讨论】:
hmm... 似乎不适用于 mypy 和 pylint -- 他们都想先走 @shaunc - 现在似乎对我有用:# type: ignore # pylint: disable=E1137
这对我有用 Pylance 和 flake8,# type: ignore # noqa: F821
以上是关于设置 pyflake 和 mypy 忽略同一行的主要内容,如果未能解决你的问题,请参考以下文章