使 flake8 检测 Python 类型的错误

Make flake8 detect Python types errors

通过FastAPI docs,看起来像下面的函数

def get_name_with_age(name: str, age: int):
    name_with_age = name + " is this old: " + age
    return name_with_age

应该通过 Python linter(示例中的 mypy)在 VSCode 中触发错误消息

我已经在使用 flake8,但它没有检测到此类错误。有没有办法让 flake8 表现得像那样?

抱歉,这看起来不可能。

mypy中,此功能由"check_untyped_defs=true"提供。我们可以在 settings.json:

中使用此配置禁用它
  "python.linting.mypyArgs": [
    "--follow-imports=silent",
    "--ignore-missing-imports",
    "--show-column-numbers",
    "--no-pretty",
    "check_untyped_defs=false"  //this line
  ],

而从flake8的official docs开始,它只禁用了这些功能:

By default, Flake8 ignores E121, E123, E126, E226, E24, and E704.

但是虽然你都开启了,flake8还是不行

看来flake8没有这个功能