Using VisualStudio+ Python — how to handle "overriding stdlib module" Pylance(reportShadowedImports) warning?

Question:

When running ipynbs in VS Code, I’ve started noticing Pylance warnings on standard library imports. I am using a conda virtual environment, and I believe the warning is related to that. An example using the glob library reads:

"envLibglob.py" is overriding the stdlib "glob" modulePylance(reportShadowedImports)

So far my notebooks run as expected, but I am curious if this warning is indicative of poor layout or is just stating the obvious more of an "FYI you are not using the base install of python".

I have turned off linting and the problem stills persists. And almost nothing returns from my searches of the error "reportShadowedImports".

Asked By: Garrett

||

Answers:

The reason you find nothing by searching is because this check has just been implemented recently (see Github). I ran into the same problem as you because code.py from Micropython/Circuitpython also overrides the module "code" in stdlib.

The solution is simple, though you then loose out on this specific check. Just add reportShadowedImports to your pyright config. For VS Code, that would be adding it to .vscode/settings.json:

{
  "python.languageServer": "Pylance",
  [...]
  "python.analysis.diagnosticSeverityOverrides": {
      "reportShadowedImports": "none"
  },
  [...]
}
Answered By: WhatIsName

For anyone that still has this problem, if your file name has the same name as a stdlib python module, for example your filename is "datetime", it’s gonna have this problem, try avoiding naming files the same names as the stdlib python modules.

Answered By: George_Tsamis