Pyright 是什么
Pyright 是 Python 的静态类型检查器,提供基本、标准、严格三档检查模式,既可以在命令行运行,也可以接进流水线。VS Code 的 Pylance 语言服务基于同一套引擎,因此编辑器里的提示与流水线的结论可以共用一份配置。
基本信息
| 检查模式 | basic / standard / strict |
|---|---|
| 配置位置 | pyrightconfig.json,或项目配置里的对应段落 |
| 编辑器集成 | VS Code 的 Pylance 基于同一引擎 |
| 命令行 | 可直接用于流水线检查 |
典型使用场景
- 新项目:从基本模式起步,核心模块逐步切到严格模式
- 存量项目:按目录配置不同模式,先管住新增代码
- 编辑器与流水线统一:共用一份配置,减少结论差异
- 第三方库缺类型:配置类型存根路径,降低误报
- 类型迁移评估:先看告警数量分布,再定收紧计划
模式选择的经验
- 工具脚本与测试可以从基本模式起步
- 核心业务模块逐步切到严格模式
- 对第三方依赖单独配置类型来源
- 模式调整与代码修复分成两次提交
用法
用法
pyright # 按配置检查整个项目
pyright --level error # 只报告 error 级别
pyright src/order # 只检查某个目录三档模式
| 模式 | 严格程度 | 适用场景 |
|---|---|---|
| basic | 基础检查,误报较少 | 存量项目起步阶段 |
| standard | 常规严格度 | 多数业务模块 |
| strict | 最严格,要求完整注解 | 核心域与公共库 |
在评审中怎么用
- 新增文件先确认是否落在严格模式的覆盖范围内
- 告警修复与模式调整分成两次提交
- 第三方依赖的类型来源写在配置里
- 暂时无法修复的告警按编号记录并注明理由
编辑器与流水线使用同一份配置:否则会出现本地通过、流水线失败的割裂体验。
类型检查的价值集中在边界上:它能在合并前暴露调用约定不一致,比等到运行时报错便宜得多。
在评审中的用法:新增代码先看是否引入新的类型告警,存量告警按目录分批收敛,而不是一次要求全清。
编辑器用严格模式而流水线用基础模式:本地通过但流水线挂掉。