python – 如何告诉mypy包含stubfile

我正在玩mypy(版本:0.630),我很难让它看到我的存根文件.谁能告诉我这里有什么问题:

我的目录结构如下所示:

├── caesar.py
└── stubs
    └── caesar.pyi

caesar.py包含一些有效的python代码. caesar.pyi包含单词bugger.我希望当我运行mypy时会出现错误.我像这样运行mypy:

export MYPYPATH=${PWD}/stubs
mypy caesar.py

没有输出(表示成功).我错过了什么简单的事情?

– 编辑 –

然后,我通过添加一些空的init文件并更改目录结构来尝试一个小实验:

├── caesar
│   ├── caesar.py
│   └── __init__.py
├── mypy.sh
└── stubs
    ├── caesar
    │   ├── caesar.pyi
    │   └── __init__.pyi
    └── __init__.pyi

然后尝试:

export MYPYPATH=${PWD}/stubs
mypy caesar/caesar.py

这没有改变:/

– 编辑 –

mypy.ini现在看起来像:

[mypy]
python_version = 3.7
mypy_path=stubs
cache_dir=/dev/null

运行mypy就像:

mypy --config-file mypy.ini caesar.py

目录树:

├── caesar.py
├── mypy.ini
├── mypy.sh
└── stubs
    └── caesar.pyi

mypy版本:0.630

最佳答案 我一直在使用mypy.ini文件,但成功:

[mypy]
python_version = 3.6
mypy_path = /Users/rpg/projects/xplan/yeast-gates-data/stubs
cache_dir = /dev/null

我发现cache_dir设置是必要的,以避免mypy缓存类型定义.我不确定它是否总能正确刷新缓存.
你的配置文件看起来很好;我唯一能想到的是引号可能

点赞