为何Celery的@app.task装饰器触发mypy“未类型化装饰器使add无类型”错误?
错误原因解析
这个错误的核心逻辑很直接:
mypy是静态类型检查工具,它要求装饰器必须带有明确的类型注解,才能正确跟踪被装饰函数的类型信息。- Celery 原生的
@app.task装饰器并没有提供完整的类型定义,mypy 无法识别这个装饰器对原函数的类型转换规则,因此将其判定为 无类型装饰器。 - 当这个无类型装饰器作用在带类型注解的
add函数上时,mypy 会认为原函数的类型信息被覆盖或丢失,于是抛出Untyped decorator makes function "add" untyped的错误。
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

