Anaconda插件仍可用且对中小型项目稳定,它基于Jedi直接调用本地Python环境实现快速轻量的智能提示;失效主因是解释器路径错误、未装jedi、未禁用默认补全或语法模式非Python。

Sublime Text 本身不提供 Python 智能提示,所有“智能”都依赖外部插件;目前真正可用、维护活跃、支持 Python 3.8–3.12 的只有两类:Anaconda(基于 Jedi)和 LSP + python-lsp-server(基于 Pylsp)。
Anaconda 插件还能用吗?
能,而且对中小型项目依然稳定。它不走 LSP 协议,而是直接调用本地 Python 环境里的 jedi 和 pyflakes,所以响应快、配置轻量。
常见失效原因:
-
python_interpreter路径写错(比如漏掉venv/bin/python里的bin/) - 目标解释器里没装
jedi:pip install jedi必须在该环境里运行 - 用户设置里没关掉默认词频补全:
"suppress_word_completions": true和"suppress_explicit_completions": true缺一不可 - 文件语法没设为 Python:右下角显示
Plain Text就不会触发 Anaconda
验证是否生效:输入 import os; os. 后按 Ctrl+Space,应立刻弹出 path、getcwd 等方法 —— 不是只列变量名,而是真实模块成员。
立即学习“Python免费学习笔记(深入)”;
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
LSP + python-lsp-server 是不是更推荐?
对中大型项目、需要类型推导或与 pyright/mypy 集成的场景,LSP 是更现代的选择。但它不是“开箱即用”,每一步都容易卡住:
-
python-lsp-server[all]必须用pip install安装,不能只装python-lsp-server(否则缺jedi和autopep8) -
LSP.sublime-settings中的"command"必须是绝对路径,例如["/home/user/.local/bin/pylsp"],不能写["pylsp"] - 必须手动启用服务器:
Ctrl+Shift+P→LSP: Enable Language Server Globally→ 选pylsp - 状态栏左下角出现
LSP-pylsp active才算连上,否则补全是假的(只回显当前文件单词)
性能影响明显:首次打开大项目会卡顿几秒,因为要构建 AST 缓存;但后续跳转定义、悬停看类型比 Anaconda 更准,尤其对带 TypedDict 或 Protocol 的代码。
为什么 SublimeCodeIntel 和旧版 Jedi 插件不该碰?
它们已停止维护,且在 Python 3.11+ 和主流数据科学库(如 pandas 2.2+、numpy 2.0+)上大面积失效:
-
SublimeCodeIntel解析import pandas as pd; pd.时经常卡死或返回空列表 - 某些
Jedi - Python Autocompletion分支不兼容typing.Union语法,导致def f(x: int | str)后续补全直接崩 - 没有错误恢复机制:一个导入失败(比如
torch没装),整个项目的补全就静默退化为词频匹配
你看到的“补全弹窗”可能只是 Sublime 自带的 auto_complete 在起作用,和 Python 语义完全无关 —— 这类插件现在连基本可用性都难保障。
最易被忽略的一点:无论选 Anaconda 还是 LSP,python_interpreter 或 pylsp 所用的 Python 环境,必须装好你项目实际 import 的所有包。不是“有 Python 就行”,而是“import torch 不报错,补全才可能出 torch.nn.”。这点没法绕,也没法自动修复。


















