我有一个 python 项目,其中有 python 文件和笔记本。
我在我的项目中使用严格的打字,但我只想在笔记本上删除它。我使用 VScode 并设置:
"python.analysis.typeCheckingMode": "strict"
我知道如何忽略 python 文件上的类型:
我收到以下类型错误:
““y”的类型部分未知
“y”的类型是“未知 | 无 (pylance)”
如何忽略笔记本上的类型检查?
这是一个 Pylance 错误。
您可以在工作区的根目录创建一个 pyrightconfig.json 文件,并将文件定义为分析中的
exclude
-d 或完全 ignore
-d:
{
"ignore": [
"**/*.ipynb",
],
}
您甚至可以列出特定的文件名:
{
"ignore": [
"notimportant.ipynb",
"test.ipynb",
],
}
它最初不适用于 Jupyter Notebooks (
.ipynb
):发生这种情况是因为 Pyright 没有将该文件视为“*.ipynb”。 VS Code Python 扩展正在笔记本中对该文件进行预处理(以组合所有单元),然后将生成的组合文件传递给 Pyright 进行分析。
pylance 团队正在积极努力改变其工作方式。我将把这个 bug 转移到 pylance-release 存储库,以便它得到应有的关注。
Github 问题已得到解决,该修复已作为 pylance 2022.8.51 的一部分进行部署: https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md#2022851-31-august-2022-prerelease
显着变化:
- ...
- 错误修复:忽略 *.ipynb 文件不起作用 (pylance-release#2135)
如果仍然无法正常工作,请检查 VS Code 上的 pylance 版本。
从 VSCode 1.88.1 + Pylance v2024.4.1 开始,Gino 的解决方案对我不起作用。
对我有用的是将以下内容添加到我的
pyproject.toml
:
[tool.pyright]
exclude = ["**/*ipynb"]