如何配置mypy以告警使用typing包而非Python内置类型的代码
如何配置mypy检测
Dict(而非dict)并抛出警告/错误? 在Python 3.9及以上版本中,官方推荐直接使用内置泛型类型(如dict[str, str])替代typing模块导出的Dict[str, str]这类泛型。你可以通过以下两种方式配置mypy,对使用Dict的代码抛出警告或错误:
方式1:强制禁用typing泛型(抛出错误)
在你的mypy配置文件(如pyproject.toml或mypy.ini)中添加disallow_typing_generics选项,启用后mypy会直接对所有使用typing模块泛型(包括Dict、List、Set等)的代码抛出错误:
配置示例(pyproject.toml)
[tool.mypy] disallow_typing_generics = true
配置示例(mypy.ini)
[mypy] disallow_typing_generics = True
方式2:仅发出警告
如果你不想直接抛出错误,只想得到警告提示,可以启用typing-generics错误代码,让mypy针对typing泛型的使用发出警告:
配置示例(pyproject.toml)
[tool.mypy] enable_error_codes = ["typing-generics"]
配置生效后,当代码中出现from typing import Dict并使用Dict时,mypy会输出类似Using generic type "Dict" from typing instead of built-in "dict" [typing-generics]的警告信息。
内容的提问来源于stack exchange,提问作者sixtyfootersdude
相关产品推荐
相关产品推荐

