




Anaconda插件import无补全的根本原因是默认关闭标准库索引且不扫描site-packages;需启用"completions":true和"include_imports":true,并正确配置python_interpreter路径指向目标环境。
import语句没补全?根本原因是插件默认关闭了 Python 标准库索引,只对当前项目内文件做静态分析。它不会自动扫描 site-packages 或系统 Python 环境里的模块。
实操建议:
Preferences → Package Settings → Anaconda → Settings – User
"anaconda_linting": false 不影响补全,但 "completions": true 必须为 true):
{
"python_interpreter": "/usr/bin/python3",
"suppress_word_completions": true,
"suppress_explicit_completions": true,
"completions": true,
"auto_complete_commit_on_tab": true,
"include_imports": true
}
"include_imports": true 是关键——它让补全器在输入 import 后尝试列出已知模块;若仍无反应,大概率是 python_interpreter 路径不对或该解释器没装所需包。
Sublime 默认不读取 venv 或 conda 激活状态,必须显式指定解释器路径。否则 requests、numpy 这类第三方包永远不会出现在补全列表里。
常见错误现象:在终端能 import flask,但在 Sublime 里敲 fla 没反应。
实操建议:
which python(macOS/Linux)或 where python(Windows),复制完整路径Settings – User 的 "python_interpreter" 字段中/opt/anaconda3/envs/myenv/bin/python 或 C:\Users\Me\Anaconda3\envs\myenv\python.exe
sublime-completion 文件和 Anaconda 补全冲突吗?会。Sublime 原生的 .sublime-completion 文件(比如自定义函数模板)由编辑器自身触发,而 Anaconda 的补全走的是 LSP-like 后端逻辑,两者优先级不同,且 suppress_word_completions 设为 true 时会直接屏蔽原生词补全。
使用场景:你写了 def my_util(): 并生成了对应 .sublime-completion,但输入 my_u 时没弹出。
实操建议:
"suppress_word_completions": true(避免干扰 Anaconda 的智能补全)anaconda completions 格式,即在项目根目录建 .anaconda-completion 文件,写入 JSON 格式的补全项.sublime-completion,改用 Anaconda 的 snippets 功能(Tools → Developer → New Snippet...),更可控Anaconda 默认开启后台 lint 和符号索引,对大项目(如 Django 全量源码)或含大量 __init__.py 的包(如 scipy)容易拖慢响应。
性能影响明显的表现:敲一个字母延迟 1–2 秒,状态栏长期显示 “Anaconda: indexing…”。
实操建议:
Settings – User 中设 "anaconda_linting": false、"auto_grow_stack": false
"limit_to_project": true,避免扫描整个 home 目录"exclude_packages": ["scipy", "tensorflow"](注意拼写准确,大小写敏感)"enable_signatures_tooltip": false 和 "enable_stack_view": false
真正复杂的地方不是配
