Class ‘XXX’ has no ‘object’ member pylint(no-member)解决办法

原文地址https://blog.csdn.net/weixin_42657158/article/details/104072953#comments_12756296

Vscode Pylint no-member(本答案仅适用于解决Django报错)

错误信息

Class ‘XXX’ has no ‘object’ member pylint(no-member)

使用环境

Vscode
Pylint

错误分析

Pylint的报错原因主要有以下两种情况:

1、object确实不存在当前成员(Pylint报错且运行程序也报错)
2、object的成员是动态添加的,只有在程序运行时此成员才会出现(Pylint报错但是程序可正常执行)

解决方法

方法一(推荐)

使用pylint-django对Pylint进行增强,让Pylint理解Django web framework

步骤

安装pylint-django

pip install pylint-django -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

在vscode的setting.json对pylint-django进行使用

"python.linting.pylintArgs": [
    "--load-plugins",
    "pylint_django"
]

方法二(不推荐)

直接禁用no-member错误

步骤

在vscode的setting.json禁用no-member错误

"python.linting.pylintArgs": [
    "--disable=E1101"
]

方法三(极不推荐)

规定动态生成的成员

步骤

"python.linting.pylintArgs": [
    "--generated-members=pandas.*"
]

解释

以下语句是使用pylint --long-help对以上方法进行的查找

--generated-members=<members names>
    List of members which are set dynamically and missed
    by pylint inference system, and so shouldn't trigger
    E1101 when accessed. Python regular expressions are
    accepted. [current: none]

吐槽

请问一下CSDN的大哥们能不能不要复制粘贴,一上来就说下面语句能解决问题,我???

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

你们用了之后真的解决了问题吗?我怎么用了之后Pylint什么地方都不报错了呢?
上面的语句等同于下面的语句,也能同样达到你想要的效果

"python.linting.pylintArgs": [
    "--瞎粘贴就完事了,能不能用和我没有关系,反正不是我的vscode,也不是我的人生"
]

错误原因
是--generated-members不是--generate-members,少了个d,所以上面两个语句都是一样的,pylint执行的语句错误,所以pylint直接就不能用了。

原文地址https://blog.csdn.net/weixin_42657158/article/details/104072953#comments_12756296

posted on 2021-06-06 17:40  雾恋过往  阅读(363)  评论(0编辑  收藏  举报

Live2D