pylint 没有会员问题,但代码仍然有效 vscode

问题描述 投票:0回答:6

我这里有一个非常简单的代码

import torch

l = torch.nn.Linear(2,5)
v = torch.FloatTensor([1, 2])
print(l(v))

torch.FloatTensor
下,Visual Studio代码中的pylint声称“模块torch没有‘FloatTensor’成员pylint(no-member)。

但是,代码运行良好。这是误报吗?如何针对这个特定实例禁用 pylint?

python visual-studio-code pylint
6个回答
59
投票
  1. 按:CTRL + Shift + P

  2. 单击“首选项:打开设置(JSON)”

  3. 将此行添加到 JSON 中:

    "python.linting.pylintArgs": ["--generated-members", "from_json,query"]



12
投票

对我有用的是注意哪些模块给出了这些错误,这对你来说是

torch
,然后按照以下步骤操作:

  1. 点击 CTRL + Shift + P
  2. 单击“首选项:打开设置 (JSON)”
  3. 将以下内容添加到您看到的 JSON 文件中:
"python.linting.pylintArgs": [
    "--generated-members", "torch.*"
]

为了这个答案,假设还有其他模块出现问题,那么你会写:

"python.linting.pylintArgs": [
    "--generated-members", "torch.* other_module.* next_module.*"
]

7
投票

是的,这是 Pylint 的问题

如果你使用 Anaconda,你可以这样做:
1. 在 VSCode 设置中搜索

python.linting.pylintPath

2.将其更改为
(You Anaconda Path)\pkgs\pylint-1.8.4-py36_0\Scripts\pylint

You Anaconda Path
pylint-1.8.4-py36_0
可能会有所不同


1
投票

这个问题的更好答案在这里:为什么说模块 pygame 没有 init 成员?

上面标记为引用 Anaconda 的答案对我来说没有意义,可能是一个新手问题。

请点击链接获取真正的独家新闻,但总结一下 -

extensionname 替换为您的问题模块名称,例如 pygame 或 RPi 或 Torch:

  1. 按 CTRL + Shift + P

  2. 单击“首选项:打开设置(JSON)”

  3. 将以下内容添加到您看到的 JSON 文件中(在 {} 内,如果已有条目,还请添加前导逗号):

    “python.linting.pylintArgs”:[ "--extension-pkg-whitelist=扩展名" // 逗号分隔 ]


0
投票

正如Tomari所说,它确实可以在Windows上运行。在Linux上有一点不同。该路径可能类似于“(You Anaconda Path)/pkgs/pylint-2.6.0-py38_0/bin/pylint”。


0
投票

这是 2023 年的答案:

"pylint.args": [
"\"--generated-members\", \"torch.*\""

]

© www.soinside.com 2019 - 2024. All rights reserved.