我这里有一个非常简单的代码
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?
按:CTRL + Shift + P
单击“首选项:打开设置(JSON)”
将此行添加到 JSON 中:
"python.linting.pylintArgs": ["--generated-members", "from_json,query"]
对我有用的是注意哪些模块给出了这些错误,这对你来说是
torch
,然后按照以下步骤操作:
"python.linting.pylintArgs": [
"--generated-members", "torch.*"
]
为了这个答案,假设还有其他模块出现问题,那么你会写:
"python.linting.pylintArgs": [
"--generated-members", "torch.* other_module.* next_module.*"
]
是的,这是 Pylint 的问题
如果你使用 Anaconda,你可以这样做:
1. 在 VSCode 设置中搜索
python.linting.pylintPath
(You Anaconda Path)\pkgs\pylint-1.8.4-py36_0\Scripts\pylint
You Anaconda Path
和 pylint-1.8.4-py36_0
可能会有所不同
这个问题的更好答案在这里:为什么说模块 pygame 没有 init 成员?
上面标记为引用 Anaconda 的答案对我来说没有意义,可能是一个新手问题。
请点击链接获取真正的独家新闻,但总结一下 -
将 extensionname 替换为您的问题模块名称,例如 pygame 或 RPi 或 Torch:
按 CTRL + Shift + P
单击“首选项:打开设置(JSON)”
将以下内容添加到您看到的 JSON 文件中(在 {} 内,如果已有条目,还请添加前导逗号):
“python.linting.pylintArgs”:[ "--extension-pkg-whitelist=扩展名" // 逗号分隔 ]
正如Tomari所说,它确实可以在Windows上运行。在Linux上有一点不同。该路径可能类似于“(You Anaconda Path)/pkgs/pylint-2.6.0-py38_0/bin/pylint”。
这是 2023 年的答案:
"pylint.args": [
"\"--generated-members\", \"torch.*\""
]