lsp-pyright插件装完默认不工作,必须手动配置绝对路径、pyrightconfig.json和pythonpath三者对齐才能启用企业级类型分析。需用npm全局安装pyright,通过which/where获取绝对路径填入command字段,项目根目录须含pyrightconfig.json(哪怕为空),虚拟环境需在配置中显式指定pythonpath。

装完 LSP-pyright 插件不等于能用——它根本不会自动下载或启动 pyright 二进制,也不会读你的虚拟环境、类型注解或 pyrightconfig.json。企业级分析(比如跨文件类型推导、泛型识别、未使用变量警告)只有在路径、配置、项目结构三者全部对齐时才生效。
右下角没显示 LSP: pyright?先查这三件事
这是最直接的“服务未连通”信号,别急着重装插件。
- 按
Ctrl+Alt+Shift+P(Windows/Linux)或Cmd+Alt+Shift+P(macOS),看状态栏 scope 是否为source.python;如果是text.plain,说明 Sublime 没识别当前文件为 Python,LSP 直接跳过加载 - 打开控制台(
Ctrl+`),搜LSP或error,重点找:Failed to start server: exit code 1(命令执行失败)、spawn pyright ENOENT(路径根本不存在) - 把配置里的
command数组完整粘到终端执行,例如:pyright --stdio—— 报command not found就得补 PATH 或换绝对路径
command 字段不能只写 ["pyright", "--stdio"]
pyright 不是 pip 包,是 npm CLI 工具。Sublime 不会帮你装它,也不走系统 PATH 查找(尤其在 GUI 环境下 PATH 常被截断)。
仅使用 Python 将 Claw Code 虚拟化框架与 OpenClaw 集成,提供 184 种工具和 200 多条命令,用于安全分析和代码质量...
- 必须用
npm install -g pyright安装(确保 Node.js 已就位) - 运行
which pyright(macOS/Linux)或where pyright(Windows),拿到绝对路径,例如/usr/local/bin/pyright - 在
LSP-pyright用户配置中写成:"command": ["/usr/local/bin/pyright", "--stdio"]—— 不能省略路径,也不能用~或环境变量 - 如果项目用了虚拟环境,
pyright默认不感知 venv;必须在pyrightconfig.json里显式指定:{"pythonPath": "./venv/bin/python"}(Linux/macOS)或{"pythonPath": ".\venv\Scripts\python.exe"}(Windows)
为什么只补全变量名,不显示类型和 docstring?
这是 pyright 运行在“宽松模式”下的典型表现:它没读到项目配置,所有高级分析能力都被降级。
- 项目根目录必须存在
pyrightconfig.json或pyproject.toml(哪怕空文件),否则它不加载任何项目级规则 -
pyrightconfig.json至少要包含:{"typeCheckingMode": "basic"}或更严格的"strict",否则不校验类型注解 - 函数签名提示(
Ctrl+Shift+Space)依赖show_symbol_descriptions开启,需在 LSP 全局设置里加:"show_symbol_descriptions": true - 悬停显示 docstring 需要
pyright能解析源码——如果用了setuptools动态生成模块、或__getattr__魔术方法,部分文档可能无法提取
真正卡住人的不是安装步骤,而是 pyright 的静默降级行为:它启动成功、不报错、补全也出来,但类型信息全丢。只要 pyrightconfig.json 缺失或 command 路径不对,它就退回基础模式,企业级分析直接失效。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










