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

mypy守护进程持续崩溃求助:附报错回溯信息

mypy守护进程崩溃:AttributeError: 'NoneType' object has no attribute 'col_offset'

问题描述

使用mypy及VS Code的mypy扩展时,遭遇守护进程崩溃,报错回溯如下:

Traceback (most recent call last):
  File "mypy\dmypy_server.py", line 230, in serve
  File "mypy\dmypy_server.py", line 273, in run_command
  File "mypy\dmypy_server.py", line 332, in cmd_run
  File "mypy\dmypy_server.py", line 389, in check
  File "mypy\dmypy_server.py", line 424, in initialize_fine_grained
  File "mypy\build.py", line 180, in build
  File "mypy\build.py", line 256, in _build
  File "mypy\build.py", line 2680, in dispatch
  File "mypy\build.py", line 2838, in load_graph
  File "mypy\build.py", line 1909, in __init__
  File "mypy\build.py", line 2070, in parse_file
  File "mypy\build.py", line 798, in parse_file
  File "mypy\parse.py", line 25, in parse
  File "mypy\fastparse.py", line 196, in parse
  File "mypy\fastparse.py", line 370, in visit
  File "mypy\fastparse.py", line 731, in visit_Module
  File "mypy\fastparse.py", line 409, in translate_stmt_list
  File "mypy\fastparse.py", line 370, in visit
  File "mypy\fastparse.py", line 744, in visit_FunctionDef
  File "mypy\fastparse.py", line 842, in do_func_def
  File "mypy\fastparse.py", line 481, in as_required_block
  File "mypy\fastparse.py", line 409, in translate_stmt_list
  File "mypy\fastparse.py", line 370, in visit
  File "mypy\fastparse.py", line 1020, in visit_AnnAssign
  File "mypy\fastparse.py", line 1645, in visit
  File "mypy\fastparse.py", line 1882, in visit_Subscript
AttributeError: 'NoneType' object has no attribute 'col_offset'

已尝试mypy 0.960至0.971版本、VS Code mypy扩展0.2.0至0.2.1版本的多种组合,问题未解决。

排查与解决方法

  • 定位出错代码

    1. 关闭VS Code的mypy守护进程,用命令行执行mypy --no-incremental <你的项目路径>,禁用增量检查模式,通常会输出具体的错误文件和行号。
    2. 在VS Code设置中,将mypy.fineGrained设为false,禁用细粒度检查,重新运行类型检查,获取更明确的报错位置。
  • 检查类型标注语法
    重点排查函数内的变量标注(AnnAssign语句),尤其是带下标表达式的类型(如List[int]、Dict[str, Any]):

    • 检查是否有语法错误,比如漏写括号、未闭合的下标
    • 确认类型别名是否已正确定义
    • 排查嵌套下标表达式的合法性,比如Tuple[str]需改为Tuple[str, ...]表示变长元组
  • 临时规避方案
    在项目的mypy.ini或pyproject.toml中添加配置,禁用mypy的快速解析器:

    [mypy]
    fastparse = false
    

    改用传统解析器可绕过该崩溃问题。

  • 升级版本
    升级mypy至最新稳定版(如1.5+),同时更新VS Code的mypy扩展到最新版本,新版本可能已修复该解析器bug。

  • 提交bug报告
    若定位到稳定复现的代码片段,可整理为最小示例,提交至mypy官方仓库的issues中,附带版本信息和报错回溯。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 10:09:26