pyright 在 sublime text 中需手动配置可执行路径才能正常工作:必须通过 npm 全局安装 pyright,用 which/where 获取绝对路径填入 lsp-pyright 的 command 数组,并正确设置 pythonpath 指向虚拟环境解释器,同时禁用 anaconda 等冲突插件。

Pyright 在 Sublime Text 中能提供准确的类型检查和快速跳转,但直接装 LSP-pyright 插件后默认不工作——根本原因是它不自带语言服务器二进制,必须手动指定 pyright 可执行路径,且该路径必须指向已安装的 Node.js 版本 pyright CLI。
确认 pyright CLI 已全局可执行
Sublime LSP 不会帮你装 pyright,它只调用命令行。先在终端运行:
pyright --version
如果报 command not found,说明没装或没加到 PATH。推荐用 npm 全局安装(确保已装 Node.js):
npm install -g pyright- 装完再运行
pyright --version确认输出类似pyright 1.1.349 - 用
which pyright(macOS/Linux)或where pyright(Windows)记下完整路径,例如/usr/local/bin/pyright
LSP-pyright 设置中必须填对 command 路径
打开 Sublime Text → Preferences → Package Settings → LSP → Servers → LSP-pyright,编辑用户配置。关键字段是 command,它必须是一个绝对路径数组:
{
"command": ["/usr/local/bin/pyright", "--stdio"],
"enabled": true,
"initializationOptions": {
"typeshedPath": ""
}
}
常见错误:
- 写成
["pyright", "--stdio"]:LSP 找不到命令,服务启动失败,日志里出现spawn pyright ENOENT - 路径含空格未加引号(Windows 常见):如
C:UsersMy NameAppDataRoaming pmpyright.cmd必须用双引号包裹整个路径 - 混用反斜杠和正斜杠(Windows):统一用正斜杠或双反斜杠,例如
"C:/Users/Name/AppData/Roaming/npm/pyright.cmd"
Python 解释器路径影响类型推断准确性
pyright 默认用系统 Python,但项目常使用虚拟环境。若提示“Unable to resolve import”或类型提示缺失,大概率是 pyright 没识别到你的 venv 或 conda 环境。解决方式是设置 python.environment:
- 在项目根目录放
.pyrightconfig.json,内容为:{"pythonVersion": "3.11", "pythonPath": "./venv/bin/python"}(macOS/Linux)或{"pythonVersion": "3.11", "pythonPath": ".\venv\Scripts\python.exe"}(Windows) - 或在 LSP-pyright 的全局设置里加
settings字段:"settings": { "python.environment": { "pythonPath": "/path/to/your/venv/bin/python" } }
注意:pythonPath 必须指向具体解释器可执行文件,不是 venv 目录本身。
关闭其他 Python 插件避免冲突
Sublime Text 同时启用 Anaconda、SublimeCodeIntel 或旧版 Jedi-based 插件时,会出现符号跳转错乱、悬停提示重复弹出、甚至 CPU 占用飙高。LSP-pyright 是唯一活跃维护的现代协议实现,其余应禁用:
- 打开 Preferences → Package Control → Disable Package
- 依次禁用:
Anaconda、SublimeCodeIntel、Jedi、Python IDE等名称含 Python 智能提示的插件 - 重启 Sublime Text,观察状态栏是否显示
LSP: pyright,而非多个提示图标并存
pyright 的响应速度和类型精度高度依赖配置路径的正确性,而不是插件数量——多装一个旧插件,反而会让跳转去到 stub 文件而非你自己的代码。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











