pyright 当前由社区维护,微软已停止功能更新;确认方式为检查 pyright --version 输出是否含“community”字样,且路径含 site-packages/pyright、版本≥1.1.320;配置兼容但 include/exclude 更严格、strict 模式支持新特性、reportunusedvariable 默认开启、仅支持 pyrightconfig.json。

pyright 在 Python 生态里已经不归微软官方维护了
pyright 的主仓库 Microsoft/pyright 自 2023 年底起进入只修严重 bug、不发新功能的「维护模式」,社区 fork 的 pylance-dev/pyright(原名 microsoft/pyright 的活跃分支)才是当前实际更新主力。如果你还在用 pip install pyright 或 VS Code 自带的 Pylance 插件,默认走的已是这个社区版。
怎么确认你用的是社区维护的 pyright
检查版本输出是否含 community 字样,这是最直接的判断依据:
pyright --version
输出类似 pyright 1.1.340 (community) 才对;若只有 1.1.340 无后缀,大概率是旧版或本地构建的非社区分支。
- VS Code 中打开命令面板(Ctrl+Shift+P),运行
Python: Restart Language Server后看输出日志里有没有Using community pyright - 终端运行
which pyright,路径若含site-packages/pyright且版本 ≥1.1.320,基本就是社区版 - 旧版 pip 安装的
pyright包(pip install pyright)从 1.1.320 起已自动重定向到社区构建,无需手动换源
社区版 pyright 的配置和原版有啥区别
配置项基本兼容,但几个关键点容易踩坑:
立即学习“Python免费学习笔记(深入)”;
-
include和exclude路径行为更严格:社区版默认不再隐式包含**/*.py,必须显式写"include": ["./src/**/*"],否则可能漏检 -
typeCheckingMode默认值仍是basic,但strict模式下新增了对LiteralString和Self的支持,需 Python ≥3.11 -
reportUnusedVariable等规则在社区版中默认开启更积极,老项目升级后可能突然报一堆未使用变量,建议先加"reportUnusedVariable": "none"过渡 - 不支持
pyrightconfig.jsonc—— 只认pyrightconfig.json,用 .jsonc 会静默失效
想参与或追踪社区进展,该盯哪儿
核心动作就三件事:
- GitHub 主页盯
pylance-dev/pyright:所有 PR、issue、发布记录都在这,Release 页面带 changelog - CI 构建看
.github/workflows/ci.yml:社区版 CI 已迁移到自托管 runner,构建产物上传到 GitHub Packages,不是 PyPI - 遇到疑似 bug,先查
pylance-dev/pyright的 issue 标签bug+needs-repro,很多“新问题”其实是已有 issue 的变体
社区版没有单独文档站,所有配置说明仍以 pyrightconfig.json 的 schema 和 README 中的 CLI 参数列表为准 —— 别去搜“pyright 社区版文档”,不存在这个东西。










