在 VS Code 中运行 ipynbs 时,我开始注意到 Pylance 关于标准库导入的警告。我正在使用 conda 虚拟环境,我相信警告与此相关。使用 glob 库的示例如下:
"env\Lib\glob.py" is overriding the stdlib "glob" modulePylance(reportShadowedImports)
到目前为止,我的笔记本按预期运行,但我很好奇这个警告是否表明布局不佳,或者只是明显表明“仅供参考,您没有使用 python 的基本安装”。
我已经关闭了 linting,但问题仍然存在。我对错误“reportShadowedImports”的搜索几乎没有返回任何结果。
搜索一无所获的原因是因为这项检查是最近才实施的(参见Github)。我遇到了和你一样的问题,因为 Micropython/Circuitpython 中的
code.py
也覆盖了 stdlib 中的模块“代码”。
解决方案很简单,尽管您随后会放松此特定检查。只需将
reportShadowedImports
添加到您的 pyright 配置即可。对于 VS Code,这会将其添加到 .vscode/settings.json
:
{
"python.languageServer": "Pylance",
[...]
"python.analysis.diagnosticSeverityOverrides": {
"reportShadowedImports": "none"
},
[...]
}
如果你的文件名与 stdlib python 模块同名 - 例如“datetime.py” - 就会出现这个问题。
最好避免将文件命名为与 stdlib 模块相同的名称,因此在这种情况下,最好的操作是选择不同的名称。