我正在尝试为模块设置类型检查,但未应用 pyi 文件。我感觉我在某个地方犯了一些愚蠢的错误,但我无法弄清楚它是什么。
这是我尝试过的:
blah.pyi 文件:
def func(x : int) -> int : ...
blah.py 文件:
def func(x):
return x
reveal_type(func)
print(func(''))
目录结构:
root
|- blah.pyi
|- blah.py
Mypy 命令:
...\root> python -m mypy blah.py
blah.py:4: note: Revealed type is "def (x: Any) -> Any"
Success: no issues found in 1 source file
...\root> python -m mypy.stubtest blah.py
error: blah.py failed to find stubs
Stub:
MISSING
Runtime:
N/A
您缺少
py.typed
文件。
根据 PEP 561 – 分发和打包类型信息,如果存在
py.typed
标记文件,mypy 仅考虑支持类型检查的包:
希望支持代码类型检查的包维护者必须将名为
的标记文件添加到支持类型的包中。py.typed