SublimeLinter 找不到 pylint 是因未加载 shell 环境变量,需手动在设置中配置 pylint 所在父目录路径,并确认 linter 已启用、文件语法识别正确、项目以文件夹形式打开。

SublimeLinter 找不到 pylint 怎么办?
不是插件没装好,而是 Sublime Text 启动时压根没加载你的 shell 环境变量(比如 .zshrc 或 .bash_profile),所以它不知道 pylint 在哪。你在终端里能跑 pylint --version,不代表 Sublime 能调用它。
- 先在终端运行
which pylint,记下完整路径,例如/Users/alex/.pyenv/shims/pylint或/opt/homebrew/bin/pylint - 打开 Sublime → Preferences → Package Settings → SublimeLinter → Settings,在
"paths"里填入该路径的**父目录**(不是pylint文件本身,而是它所在的bin或shims目录) - macOS 用户尤其注意:别依赖
/usr/bin/python,那是系统旧 Python;用pyenv或brew安装的 Python,对应pylint一定在自己的shims或bin下
为什么装了 SublimeLinter-pylint 却没反应?
SublimeLinter 默认只启用已安装且可执行的 linter,但“可执行”不等于“已启用”。如果配置里把 pylint 设为 "disable": true,或者根本没出现在 "linters" 字段里,它就彻底静默。
- 检查用户设置中是否有类似这样的块:
{ "linters": { "pylint": { "disable": false } } } - 确保你打开的是一个
.py文件,且 Sublime 已将其语法识别为 Python(右下角状态栏应显示 “Python”,不是 “Plain Text”) - 如果项目用了虚拟环境,
pylint必须装在那个环境下;全局 pip 安装的pylint对虚拟环境项目无效
pylint 和 flake8 选哪个?
二者定位不同,不是“哪个更好”,而是“哪个更合适当前场景”。
-
pylint:重、全、带类型推断和重构建议,适合团队项目或用了typing的中大型代码库;但启动慢、易误报(比如未使用的 import)、配置复杂 -
flake8:轻、快、专注 PEP 8 + 基础错误(E/F类),适合日常快速反馈;不检查类型、不提重构,也不会报C0111(missing docstring)这种约定类警告 - 别同时开两个——SublimeLinter 不会合并结果,反而容易冲突、重复报错、拖慢响应
项目级配置 .pylintrc 不生效?
SublimeLinter 只在“以文件夹形式打开项目”时才读取根目录下的 .pylintrc 或 .flake8。如果你只是双击打开单个 .py 文件,它完全看不到这些配置。
- 务必通过 Project → Open Folder(不是 Open File)打开整个项目目录
-
.pylintrc必须放在该文件夹的最顶层,不能套在子目录里 - 想临时忽略某些警告?在 SublimeLinter 用户设置里加:
"pylint": { "args": ["--disable=C0111,R0903"] },比改全局配置更安全


















