jedi插件无补全先检查是否运行:控制台输入import jedi验证;确保python解释器含jedi库、文件语法为python、auto_complete开启;修正导入路径需配置extra_paths或.jedi文件;卡顿时关闭show_call_signatures并调高auto_complete_delay。

Sublime Text 装了 Jedi 插件没补全?先检查 Jedi 是否真在运行
很多人装完 SublimeJEDI 或 JediPython,敲 . 没反应,第一反应是“配置错了”。其实更大概率是 Jedi 后端根本没起来——它依赖 Python 环境和 jedi 库本身。
实操建议:
- 打开 Sublime Text 控制台(
Ctrl+`),输入import jedi; print(jedi.__version__),如果报ImportError,说明 Sublime 用的 Python 解释器里没装jedi - 默认 Sublime 用自带的 Python(v3.3 左右),不读系统
pip,得用Package Control安装PyPI插件,再通过它装jedi - 或者手动指定解释器路径:在插件设置里改
"python_binary_path",指向你项目用的venv下的python(比如/path/to/venv/bin/python)
补全只对 .py 文件生效,但 settings 里没开 auto_complete
即使 Jedi 运行正常,补全也可能静默失效——因为 Sublime 的原生补全开关关着,Jedi 只是提供候选,不触发弹窗。
实操建议:
- 确认当前文件语法是
Python(右下角显示“Python”,不是“Plain Text”) - 检查全局或用户设置里是否有
"auto_complete": false,有就删掉或设为true - 补全触发时机:默认输完字母后等 200ms,或按
Ctrl+Space手动唤出;如果输os.后没反应,试试多按一次.或敲个空格再删掉
import 路径不对导致补全找不到模块
写 from mypackage import utils 后,utils. 补不出函数?不是插件问题,是 Jedi 根本没把 mypackage 当成可导入路径。
实操建议:
-
Jedi默认只认PYTHONPATH和当前文件所在目录,不自动扫描父级或src/结构 - 在项目根目录放一个
.jedi文件,内容写["src", "lib"](路径相对于该文件) - 或者改插件设置里的
"extra_paths",填绝对路径数组,比如["/full/path/to/src"] - 注意:路径必须存在且含
__init__.py,否则Jedi视为普通文件夹,跳过解析
补全卡顿、输入延迟高?关掉 show_call_signatures 和 auto_complete_delay
补全慢不是因为网络或硬盘,而是 Jedi 在后台同步分析 AST 并查类型。尤其在大型项目或带复杂装饰器的代码里,每敲一个点都可能卡住。
实操建议:
- 关掉实时签名提示:
"show_call_signatures": false(这个最耗 CPU) - 把
"auto_complete_delay"从默认 50 改成 300–500,避免边打边猜 - 禁用非必要功能:比如
"goto_definitions_in_project"设为false,防止跨文件深挖 - 如果只是写脚本不用跳转,干脆卸载
Jedi,用 Sublime 自带的anaconda(轻量版)或纯sublime-jedi(旧版,更稳)
补全不是越智能越好,而是要匹配你当下的编辑节奏。路径、解释器、触发逻辑这三块没对齐,装十个插件也没用。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










