当我在 venv 中以可编辑模式安装包时,为什么 Visual Studio Code 不显示 mypy 错误?

问题描述 投票:0回答:2

我有一个 Python 项目,它使用

mypy
进行类型检查。我项目的根目录包含一个
setup.py
和包文件夹
rise
,以及一个虚拟环境文件夹
venv
。我的 shell 和 VSCode 都设置为使用这个虚拟环境。

大多数时候,此设置运行良好:每次我保存时 VSCode 都会运行

mypy
,并在“问题”窗口中用波浪线标记错误。但出于某种原因,如果我使用
rise
以可编辑模式安装
pip install -e .
包,在 VSCode 中进行类型检查 永远不会发现任何类型错误。 如果我使用 以不可编辑模式安装它,不会发生这种情况pip install .
,如果我卸载可编辑模式包并重新加载 VSCode 窗口,它会立即再次开始正常工作。


如果我进入“输出”窗口中的 Python 输出,我会看到:

> ./venv/bin/python ~/.vscode/extensions/ms-python.python-2022.18.2/pythonFiles/linter.py -m mypy --show-column-numbers --strict ./rise/action.py [...output from pylint, which is also configured and is working normally, clipped] ##########Linting Output - mypy########## Success: no issues found in 1 source file
然而,如果我复制并粘贴它回显到终端的命令,实际上有一个错误:

$ ./venv/bin/python ~/.vscode/extensions/ms-python.python-2022.18.2/pythonFiles/linter.py -m mypy --show-column-numbers --strict ./rise/action.py rise/action.py:140:12: error: Incompatible return value type (got "None", expected "bool") [return-value]
我对如何进一步解决这个问题感到困惑,而且我无法在网络上的任何地方找到任何关于这个问题的参考资料。

python visual-studio-code mypy vscode-python
2个回答

0
投票
我遇到了类似的问题。也许在 settings.json 文件中明确设置严重性应该有所帮助:

"python.linting.mypyCategorySeverity.error":"Warning"
    
© www.soinside.com 2019 - 2024. All rights reserved.