mypy如何忽略源文件中的单行?

时间:2018-03-11 12:33:00

标签: python types mypy

我在我的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

我的系统CLoaderCDumper不存在,导致错误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

3 个答案:

答案 0 :(得分:10)

答案 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

Gvanrossum comment