12

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:

"env\Lib\glob.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".

Garrett
  • 133
  • 1
  • 7

2 Answers2

26

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"
  },
  [...]
}
WhatIsName
  • 2,294
  • 4
  • 24
  • 36
  • 2
    This seems to conflict with the idea of a conda env. It seems like when I'm using a conda env and its packages, then there should be no errors reported. Is there a way to make pylance consider stdlibs to be those in the conda env being used? – user3731622 Dec 09 '22 at 19:25
  • By the way to found the settings.json file, search these locations: » Windows: %APPDATA%\Code\User\settings.json » macOS: $HOME/Library/Application\ Support/Code/User/settings.json » Linux: $HOME/.config/Code/User/settings.json – João Godinho Dec 12 '22 at 18:24
  • 3
    An easier solution is to rename your `code.py` to `main.py` so that it doesn't conflict. It will still be loaded on boot. Disabling all override warnings has the unwanted side-effect of removing useful warnings. – Stefan Feb 18 '23 at 20:32
  • @Stefan: Your comment seems to me to be the better solution. Thanks. Maybe you set it as a separate answer. – ElVit Feb 20 '23 at 13:40
3

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.