用户登录
用户注册

分享至

VSCode Pylint 消除OpenCV PyTorch等下面的红色波浪线

  • 作者: 风吹残泪孤影长
  • 来源: 51数据库
  • 2021-11-22

前言

VSCode版本

我是在Windows10下使用的最新版的VSCode:June 2020 (version 1.47)

问题

安装Anaconda后再安装VSCode,默认给我们安装了Pylint。而Pylint是什么呢,这里引用博客:
pylint主要用来分析你的PY代码,查找出其中的错误,并给出提示,并且还可以为你提出一些编码风格的提示的一个PYTHON模块。总之,它的作用是使得你的代码更加的接近 PEP 008 (http://www.python.org/dev/peps/pep-0008/) Title: Style Guide for Python Code 中所描述的代码风格,使你的代码统一并更加可读。

使用起来很方便,但唯一不友好的是,它不能识别它包含之外的包,例如常见的opencv和pytorch,这对我来说很头疼,因为每当出现一次cv2和torch,他们下面就有一条红色的波浪线,导致VSCode右边的框里全是红色,强迫症表示很难受,最大的问题还是它埋藏了真正的语法错误,导致很难发现他们!效果就是这样的:

只要有torch和cv2出现的地方就有红色的波浪线,很是头疼

常见不正确的处理方式

1

打开百度搜索:vscode pylint OpenCV 红色波浪线,出现的第一条博客就是:解决VSCode 中调用cv2,代码一直显示红色波浪线的问题, 他里面说在VSCode的设置里面搜索pylintargs,然后添加一句:

"python.linting.pylintArgs": ["--generate-members"]

但是新版的VSCode里面已经看不到json文件了,我按照评论里面的说法添加:

--generate-members

如下:

我看到很多博客里面都是这么说的,例如:
https://blog.csdn.net/ngy321/article/details/88972255
https://blog.csdn.net/zaf0516/article/details/95635658

立马尝试了一下,发现红色波浪线的确是没有,但是所有的提示都没有了,像是把pylint卸载了一样,就像这样:

但这不是我的目的呀,我是想发现真正的错误!

2

看到一个批判上面做法的博客:Vscode Pylint no-member, 他里面说上面填的东西都是错误,应该是:

--generated-members

而不应该是–generate-members。

兴高采烈的改过来后发现还是无果……

我也安装他里面推荐的方法:安装pylint-django

pip install pylint-django

然后在填写–generated-members的位置写上:

--load-plugins=pylint_django

结果是没有了红色波浪线,但出现了很多不知道原因的蓝色波浪线:

还是没有解决问题

解决办法

直到看到GitHub上的一个做法:

即,添加:

--errors-only
--generated-members=numpy.* ,torch.* ,cv2.* , cv.*


现在的效果:

这就很好的解决了我的问题,关于的cv2和torch的红色波浪线没有了,只暴露我真实的错误,太好了
借用一个人的评论:You saved part of my life!

感谢

软件
前端设计
程序设计
Java相关