pylint no member issue but code still works vscode

Viewed 18077

I have a very simple code here

import torch

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

under torch.FloatTensor, pylint in visual studio code claims that 'Module torch has no 'FloatTensor' member pylint(no-member).

However, the code works fine. Is this a false positive? How can I disable pylint for this specific instance?

5 Answers
  1. Press: CTRL + Shift + P

  2. Click on "Preferences: Open Settings (JSON)"

  3. Add this line into JSON : "python.linting.pylintArgs": ["--generated-members", "from_json,query"]


What worked for me was noticing what modules were giving those errors, which is torch for you, and then followed these steps:

  1. hit CTRL + Shift + P
  2. click on "Preferences: Open Settings (JSON)"
  3. add the following to the JSON file you are presented with:
"python.linting.pylintArgs": [
    "--generated-members", "torch.*"
]

for the sake of this answer, say that there were other modules giving problems, then you'd write:

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

Yes it is a problem of Pylint

If you use Anaconda, you can do:
1. search python.linting.pylintPath in your VSCode setting
2. change it to (You Anaconda Path)\pkgs\pylint-1.8.4-py36_0\Scripts\pylint

You Anaconda Path and pylint-1.8.4-py36_0 may vary

A better answer to this question here: Why does it say that module pygame has no init member?

The answer above marked as the answer with references to Anaconda doesn't make sense to me, probably a newbie issue.

Please follow the link to get the real scoop, but to summarize -

Replacing extensionname with your problem module name, such as pygame or RPi or Torch:

  1. Hit CTRL + Shift + P

  2. Click on "Preferences: Open Settings (JSON)"

  3. Add the following to the JSON file you are presented with (inside the {}, if there are entries already there add leading comma as well):

    "python.linting.pylintArgs": [ "--extension-pkg-whitelist=extensionname" // comma separated ]

As Tomari says, it does work on windows.There is a little difference on linux. The path maybe like "(You Anaconda Path)/pkgs/pylint-2.6.0-py38_0/bin/pylint".

Related