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

为何MyPy无法忽略PEP 695类型别名的valid-type错误?

解决MyPy无法忽略PEP695 type别名错误的方法

1. 修正pyproject.toml的配置项名称

你之前使用的disable_error_code = 'valid-type'是单数形式,MyPy的正确配置项为复数的disable_error_codes,需要修改为:

[mypy]
disable_error_codes = ["valid-type"]

注意即使只禁用单个错误码,也要使用数组格式。

2. 确保单行注释的位置正确

如果使用单行忽略注释,必须将# type: ignore[valid-type]与PEP695的type语句放在同一行,或紧跟在语句的下一行:

# 正确写法1:同一行
type MyAlias = dict[str, int]  # type: ignore[valid-type]

# 正确写法2:紧跟下一行
type MyAlias = dict[str, int]
# type: ignore[valid-type]

若注释与语句之间有空行,MyPy将无法识别。

3. 文件级注释的正确格式

文件级的忽略注释需放在文件最顶部(shebang和编码注释之后,其他代码之前),格式可省略引号:

# mypy: disable-error-code=valid-type
type MyAlias = dict[str, int]

若使用引号,需确保是英文双引号且无语法错误。

4. 检查MyPy版本兼容性

若以上方法均无效,可能是你使用的MyPy版本过旧,对错误码的支持存在问题。建议升级到最新稳定版:

pip install --upgrade mypy

如果仅需针对特定文件禁用该错误,还可在pyproject.toml中单独配置:

[mypy-your_module.*]
disable_error_codes = ["valid-type"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:32:37