我正在尝试为项目设置 mypy 类型检查。我想从一开始就排除一堆文件/目录,这样我们至少可以强制对新代码进行类型检查,然后我们可以随着时间的推移烧掉排除列表。不幸的是 mypy 忽略了我的排除配置,我不明白为什么。
我创建了一个mypy.ini
包含以下内容的配置文件:
[mypy]
python_version = 3.8
exclude = /examples/
Run Code Online (Sandbox Code Playgroud)
但是当我运行时mypy --verbose .
,它仍然发现该目录中的文件存在错误。日志消息告诉我它看到了我的排除配置,但显然忽略了它:
LOG: Mypy Version: 0.812
LOG: Config File: mypy.ini
LOG: Configured Executable: /Library/Developer/CommandLineTools/usr/bin/python
3
LOG: Current Executable: /Library/Developer/CommandLineTools/usr/bin/python
3
LOG: Cache Dir: .mypy_cache
LOG: Compiled: True
LOG: Exclude: /examples/
<snipped>
LOG: Found source: BuildSource(path='./examples/fib.py', module='fib', has_text=False, base_dir='/Users/user/a/examples')
LOG: Found source: BuildSource(path='./examples/fib_iter.py', module='fib_iter', has_text=False, base_dir='/Users/user/a/examples')
<snipped>
examples/fib.py: error: Duplicate module named 'fib' (also at './examples/a/fib.py')
examples/fib.py: note: Are you missing an __init__.py? …
Run Code Online (Sandbox Code Playgroud)