You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于默认--follow-imports=normal下mypy错误报告规则的疑问

mypy --follow-imports=normal 错误报告行为解析

针对你在使用mypy时遇到的疑问,结合--follow-imports=normal(默认设置)的实际行为,解答如下:

核心结论

当执行mypy foo.py时,mypy会分析被foo.py导入的a.py、b.py来保障foo.py的类型检查准确性,但不会报告这些导入模块中的所有错误,仅会输出那些直接影响foo.py类型安全的错误。

针对你的疑问逐一解答

  1. mypy是否会报告a.py和b.py中的所有错误?
    不会。只有当a.py、b.py中的错误会直接影响foo.py对模块成员的使用时,才会被纳入报告。例如:如果a.py中存在一个未被foo.py调用的函数,该函数内部的类型错误不会被输出。

  2. 是否仅报告a.py和b.py中对foo.py类型安全有直接影响的错误?
    是的。具体场景包括:

    • 如果foo.py引用了a.py中的某个变量/函数/类,而该成员本身存在类型定义错误(比如函数参数类型标注错误),mypy会报告这个错误,因为它会影响foo.py中对该成员的调用正确性。
    • 如果a.py中的错误属于内部未被引用的逻辑(比如私有函数的类型不匹配),这类错误不会出现在mypy foo.py的输出结果里。

关于报错信息的说明

你看到的Found 25 errors in 3 files (checked 1 source file),其中的checked 1 source file指的是你显式指定的foo.py是唯一被作为“源文件”进行全量检查的模块;而mypy为了完成foo.py的类型检查,会对依赖的a.py、b.py进行必要的类型分析,那些被报告的其他文件错误,都是直接关联foo.py类型安全的部分。

内容的提问来源于stack exchange,提问作者ilovewt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:23:11