VS Code中Flake8代码检查触发KeyError的临时解决方法咨询
临时解决VS Code中Flake8扩展的KeyError问题
以下是几个可行的临时解决方法:
回退Flake8扩展版本
打开VS Code扩展面板,找到Flake8扩展,点击右侧齿轮图标选择「Install Another Version...」,选择2025.x.x系列的稳定版本(例如2025.10.0),安装完成后重启VS Code即可恢复正常检查。改用本地环境的Flake8
- 在VS Code设置中搜索
flake8.importStrategy,将其值改为fromEnvironment - 确保本地Python环境安装了兼容版本的Flake8,推荐6.x.x系列(如6.1.0),可通过命令安装:
pip install flake8==6.1.0
这种方式会跳过扩展自带的Flake8,直接使用本地环境的版本,避免版本兼容问题。
- 在VS Code设置中搜索
临时修改扩展代码(不推荐,易被更新覆盖)
找到Flake8扩展的安装目录(Windows下一般为C:\Users\你的用户名\.vscode\extensions\ms-python.flake8-2026.4.0),打开bundled/libs/flake8/plugins/reporter.py文件,修改make方法,在获取format_plugin前先去除格式名称的多余引号:def make(format_name, opts=None): # 添加以下一行代码去除引号 format_name = format_name.strip("'\"") format_plugin = reporters[format_name] # 后续原有代码保持不变
问题背景
该错误出现在VS Code 1.118.1搭配Flake8扩展2026.4.0版本时,打开Python文件或Jupyter Notebook会触发KeyError: "'%(row)d,%(col)d,%(code).1s,%(code)s:%(text)s'",原因是扩展传递的格式化字符串被意外包裹了引号,导致Flake8无法识别对应的报告器格式,相关问题正在官方仓库的501、503议题中追踪,暂未发布正式修复版本。
内容的提问来源于stack exchange,提问作者db 1070
相关产品推荐
相关产品推荐

