Pylint在Sublime Text 3中需同时满足三个硬条件才能运行:pylint命令可在终端执行、插件指向正确的Python环境、配置项与项目结构一致;缺一不可,否则静默失败。

Sublime Text 本身不带 Python 静态检查能力,装完 Pylint 命令行工具 + SublimeLinter-pylint 插件后仍没反应?大概率是路径没对上,不是插件坏了,也不是代码写错了。
先确认 pylint 能不能在终端里跑起来
这是最常被跳过的一步,但直接决定后续所有配置是否有效。
- 打开终端,执行
pylint --version—— 如果报command not found或ModuleNotFoundError,说明pylint没装,或者没装在 Sublime 实际调用的那个 Python 环境里 - 如果你用虚拟环境(
venv),必须先激活它:source venv/bin/activate(macOS/Linux)或venvScriptsctivate(Windows),再运行pip install pylint - 如果用
pyenv或conda,终端里运行which pylint,记下完整路径(比如/Users/xxx/.pyenv/shims/pylint),它的父目录才是后面要填的paths - 别只装一次就完事:Sublime 启动时用的 Python 和你终端当前用的可能不是同一个,
import sys; print(sys.executable)在 Sublime 控制台(Ctrl+`)里运行,看它指向哪
装对插件:SublimeLinter-pylint,不是 Pylinter
Pylinter 是个老插件,停更多年,不支持 pyproject.toml,也不兼容新版 pylint(≥2.14)。现在该用 SublimeLinter-pylint,它是基于 SublimeLinter 框架的活跃维护分支。
- 安装顺序不能错:先装
SublimeLinter核心,再装SublimeLinter-pylint—— 用Ctrl+Shift+P→Package Control: Install Package,分别搜这两个名字 - 装完不会自动生效。手动触发一次 lint:保存一个
.py文件,或Ctrl+Shift+P→SublimeLinter: Lint Current View - 如果右下角语法显示是
Plain Text,Ctrl+Shift+P→Set Syntax: Python手动设对,否则 linter 根本不启动
配置 paths 让 SublimeLinter 找到 pylint
SublimeLinter 默认只查系统 $PATH,但 pyenv、conda、venv 的 pylint 往往不在那里。必须显式告诉它去哪儿找。
立即学习“Python免费学习笔记(深入)”;
- 菜单 →
Preferences → Package Settings → SublimeLinter → Settings,编辑右侧「用户设置」(不是左侧默认设置) - 加
"paths"字段,填你which pylint输出路径的父目录,例如:{ "paths": { "osx": ["/Users/xxx/.pyenv/shims"], "linux": ["/home/xxx/.local/bin"], "windows": ["C:\Users\xxx\AppData\Roaming\Python\Python312\Scripts"] } } - Windows 用户注意:路径里用双反斜杠
\,且去掉pylint.exe文件名,只留到Scripts目录 - 更省事的替代方案:加
"use_current_shell_path": true,让 Sublime 复用终端环境变量 —— 但前提是你的终端pylint --version真的能跑通
忽略 R/C 类警告?别动 SublimeLinter 设置,配 .pylintrc
很多人在 SublimeLinter 配置里改 "ignore": ["R", "C"],结果没效果。因为 SublimeLinter-pylint 不读这个字段,它只把参数原样传给 pylint 命令行。
- 真正起作用的是
.pylintrc文件 —— 运行pylint --generate-rcfile > .pylintrc生成一份,默认就放在项目根目录 - 编辑
.pylintrc,找到[MESSAGES CONTROL]小节,改成:disable=refactoring,convention
(对应 R/C 类) - 也可以用
enable=显式开启你关心的规则,比如enable=missing-docstring,invalid-name - 如果项目用
pyproject.toml,把配置移到里面更现代:[tool.pylint."MESSAGES CONTROL"] disable = ["refactoring", "convention"]
最容易被忽略的点:Sublime 启动时加载的 Python 环境和你终端里用的不一致,导致 pylint 装了也白装;另一个是 .pylintrc 放错位置(必须在项目根目录或 home 目录),或者文件编码含 BOM 导致 pylint 解析失败。


















