问题描述
mypy 在全局(使用 pip install mypy
)和本地(在我的项目根文件夹中使用 Poetry 的 [tool.poetry.dev-dependencies]
安装。
这是根文件夹的树
project_root_folder
│
│ poetry.lock
│ pyproject.toml
├───.mypy_cache
│
├───.venv
│
├───.vscode
│
├───tests
│
└───project_folder
部分问题:
- 虽然在虚拟环境中NOT,但如果我使用
mypy --version
,我会得到:
"pytest: 术语 'pytest' 未被识别为 cmdlet、函数、脚本文件或可执行程序的名称。 检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。"
- 虽然在激活的 .venv 中,如果我使用
mypy --version
:
它成功报告了mypy的版本。在这种情况下,它使用 poetry install
pyproject.toml
一起安装
主要问题:
即使 Python: Select Linter
找到了 mypy 并且它成功地在我的根文件夹中创建了一个 .mypy_cache,当我尝试 Python: Configure Tests
时也没有 mypy 框架/工具
TLDR
- 如何正确配置我的测试文件夹的框架以 与 mypy 一起工作?
- 为什么
where.exe mypy
和mypy --version
在外部不起作用 虚拟环境?
解决方法
第一个问题:
抱歉,Python 扩展内置了三种类型的测试:
测试:使用 unittest 通过测试资源管理器运行和调试测试, pytest 或鼻子
您可以从 official docs 中查看。
没有 mypy
测试框架。
第二个:
激活虚拟环境时,系统环境的值发生了变化,可以通过sys.path
查看。
import sys
print(sys.path)