我在我的python项目中使用mypy进行类型检查。我也使用PyYAML来读取和编写项目配置文件。不幸的是,当使用recommended import mechanism from the PyYAML documentation时,这会在尝试导入本机库的try / except子句中生成虚假错误:
from yaml import load, dump
try:
from yaml import CLoader as Loader, CDumper as Dumper
except ImportError:
from yaml import Loader, Dumper
我的系统CLoader
和CDumper
不存在,导致错误error: Module 'yaml' has no attribute 'CLoader'
和error: Module 'yaml' has no attribute 'CDumper'
。
有没有办法让mypy忽略此行的错误?我希望我可以做这样的事情让mypy跳过这一行:
from yaml import load, dump
try:
from yaml import CLoader as Loader, CDumper as Dumper # nomypy
except ImportError:
from yaml import Loader, Dumper
答案 0 :(得分:10)
您可以使用0.57 # type: ignore
执行此操作(此提交已关闭的问题#500, Ignore specific lines):
答案 1 :(得分:1)
我宁愿在mypy.ini
例如,忽略Django迁移:
[mypy-*.migrations.*]
ignore_errors = True
答案 2 :(得分:0)
如果要使用shebang,并且要忽略的文件顶部也# mypy: ignore-errors
起作用,
#!/usr/bin/env python
#-*- coding: utf-8 -*-
# mypy: ignore-errors