VSCode中pylint误报的问题
- 注意:这是为了解决强迫症而做的,代码运行没问题,但 pylint 就是在一个地方下面画红色波浪线,看着很不爽;而不是代码真的有问题而画的红线
pylint 提示 xx 模块没有方法/属性
这个解决方法网上帖子很多,不多说,直接上解决方案:
快捷键 ctrl + shift + P
,在命令窗口中输入 settings.json
,选择 首选项:打开工作区设置(JSON)
,然后输入:
{
"python.linting.pylintArgs": [
"--errors-only",
"--generated-members=numpy.*, torch.*, cv2.*"
]
}
pylint 提示 xx 变量/属性 not callable
解决方案:在错误行后面添加 # pylint:disable=E1102
,使 pylint 忽略这行的 not callable 警告
如下图:我克隆 yolo-v5 的代码到本地,用 VSCode 打开后 datasets.py 文件会报错
添加后:
总结
- pylint 误报的可能还是因为 pylint 是静态检查的,而 self.xxx 这些属性在运行时才具有 callable 的能力,就像 pylint 提示 xx 模块没有 xx 属性一样;不过这个 not callable 误报我在 settings.json 一直不能解决
E1102
是 pylint 对 not callable 错误的错误码,由 pylint官方文档 给出了代码中屏蔽检查的方法,pylint错误码总览 给出具体错误的错误码- pylint 的屏蔽检查可以屏蔽一个代码块,但我没试,不知道有没有用
- 误报没了,强迫症舒适