Sublime Text 可通过 SublimeLinter 和 SublimeLinter-flake8 插件集成 flake8 实现 Python 实时代码规范检查;需正确安装 flake8、配置路径及规则,并验证启用状态。

Sublime Text 本身不内置 Python 代码规范检查,但可以通过插件集成 flake8(集成了 pep8、pyflakes、mccabe)实现实时 Lint。关键在于正确安装 flake8、配置 SublimeLinter 插件,并确保路径和规则匹配。
安装 flake8 和 SublimeLinter
先确保系统已安装 Python 和 pip,然后在终端运行:
- pip install flake8(推荐使用虚拟环境,避免全局污染)
- 打开 Sublime Text,按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Install Package,回车后搜索并安装:
SublimeLinter(核心框架)
SublimeLinter-flake8(flake8 专用 linter 插件)
配置 flake8 路径(常见失败原因)
如果 Sublime 提示 "flake8 not found",说明插件找不到可执行文件。需手动指定路径:
- 菜单栏 → Preferences → Package Settings → SublimeLinter → Settings
- 在右侧用户设置中添加(路径根据你的系统调整):
"paths": {
"linux": [],
"osx": ["/usr/local/bin", "/opt/homebrew/bin"],
"windows": ["C:\\Python39\\Scripts\\"]
}
macOS 用户若用 brew 安装 Python,常用路径是 /opt/homebrew/bin;Windows 请确认 flake8.exe 所在 Scripts 目录(如 Python311\Scripts\)。
立即学习“Python免费学习笔记(深入)”;
自定义 flake8 规则(如忽略 E501、启用 W503)
可在项目根目录加 .flake8 或 setup.cfg 文件统一管理规则,SublimeLinter-flake8 默认读取它们。例如:
[flake8] max-line-length = 88 ignore = E501, W503 select = C,E,F,W,B,B950 extend-ignore = E203
也可在 SublimeLinter 用户设置中全局覆盖:
"linters": {
"flake8": {
"args": ["--max-line-length=88", "--ignore=E501,W503"]
}
}
验证与调试
保存一个含明显问题的 Python 文件(如多出空格、未使用的变量),看右下角是否弹出警告图标,或鼠标悬停报错行查看提示。若无反应:
- 打开 Sublime 控制台(Ctrl+`),查看是否有
SublimeLinter: flake8: XXX.py日志 - 确认文件语法设为 Python(右下角显示,点击可切换)
- 检查 SublimeLinter 是否启用:菜单 Tools → SublimeLinter → Toggle Linter 确保打勾
基本上就这些。配置一次后,就能在编辑时实时看到 PEP 8 问题,不复杂但容易忽略路径和作用域范围。










