package control: install package命令搜不到说明其未加载进运行时,根本原因是本体缺失或被屏蔽;需先确认sublime.installed_packages_path()路径下installed packages/中仅有正确的package control.sublime-package文件,删尽旧残留,检查ignored_packages设置,并严格按st3/st4版本执行对应官网脚本,重启时必须完全退出进程。

Package Control: Install Package 命令根本搜不到
说明 Package Control 没加载进运行时,不是网络或插件问题,而是本体缺失或被屏蔽。按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)输入 Package Control,完全无匹配项,就属于这一类。
先确认文件是否真在正确位置:
- 打开控制台,执行 sublime.installed_packages_path(),得到路径后去文件系统里打开该目录下的 Installed Packages/;
- 里面必须有且仅有一个 Package Control.sublime-package 文件(注意不是 Package Control (old).sublime-package 或带空格/括号的变体);
- 如果存在但命令仍不出现,大概率是旧残留干扰——删掉 Installed Packages/ 下所有含 Package Control 字样的文件,再重装;
- 检查 Preferences → Settings – User 里有没有 "ignored_packages" 列表,若其中包含 "Package Control",直接删掉这一行并保存。
控制台执行安装脚本后静默失败或报错
粘贴官网脚本回车后没输出、闪退、或报 NameError: name 'urllib2' is not defined / ModuleNotFoundError: No module named 'urllib.request',本质是 ST 版本和脚本不匹配。
必须严格对应:
- 执行 sublime.version():返回 4xxx 是 ST4,必须用含 urllib.request 和 hashlib.sha256 的脚本;返回 3xxx 是 ST3,只能用旧版;
- 执行 import urllib.request 测试:报错就说明当前环境根本不支持 ST4 脚本;
- 别从博客、截图或 PDF 复制代码——容易混入零宽字符或全角空格,导致 Python 解析失败;
- 官网地址 https://packagecontrol.io/installation 页面里,按你的 sublime.version() 结果,只复制对应区块的「Manual Installation」整段代码。
Install Package 能调出但列表为空或卡在 Loading…
这是 channel 源失效的典型表现,和 Package Control 本身无关。国内用户几乎全卡在这一步。
操作要点:
- 打开 Preferences → Package Settings → Package Control → Settings – User;
- 确保 "channels" 至少有一条有效地址,例如:"https://gitee.com/azl397985856/package_control_channel/raw/master/channel_v3.json";
- 把这个 URL 粘到浏览器里直接访问,能返回完整 JSON 才算有效;打不开就换网络、关火绒/360(它们常静默拦截 urllib 请求);
- 绝对路径引用本地 channel_v3.json 时,Windows 要写成双反斜杠:"C:\Users\xxx\channel_v3.json";
- 如果控制台报 schema_version mismatch,说明用了 v2 channel 匹配新版 Package Control,必须统一用 channel_v3.json。
重启无效?你可能没「完全退出」
只关窗口不算重启,Sublime 的插件加载机制依赖进程级初始化。未完全退出会导致缓存残留、路径未刷新、甚至 installed_packages_path() 返回错误路径。
正确退出方式:
- Windows:右键任务栏图标 → 「退出」,不是点 × 关窗;
- macOS:菜单栏 → Sublime Text → Quit Sublime Text,不是关闭所有窗口;
- Linux:用 killall sublime_text 或通过系统监视器杀干净进程;
- 重启后务必再进控制台执行一次 sublime.installed_packages_path(),确认路径与之前一致,再验证命令是否可搜到。











