配置 Pyright
Pyright 是一个强大的 Python 静态类型检查工具,可以帮助开发者提前发现潜在的类型错误和代码问题。
1 - 配置文件 pyrightconfig.json
在项目根目录创建 pyrightconfig.json
文件。
1.1 常用配置项
1.1.1 基础配置
exclude
: 排除的文件或目录。可缩小检查范围,加快检查速度。include
: 包含的文件或目录。可缩小检查范围,加快检查速度。ignore
: 忽略特定错误类型。例如["reportMissingImports"]
可以忽略未导入模块的警告。
1.1.2 类型检查配置
typeCheckingMode
: 类型检查模式"basic"
: 基本类型检查"strict"
: 严格类型检查"off"
: 关闭类型检查
1.1.3 环境配置
venvPath
: 虚拟环境路径venv
: 虚拟环境名称pythonVersion
: Python 版本pythonPlatform
: Python 平台(如 "Windows"、"Linux"、"Darwin")
1.1.4 性能配置
maxCacheSize
: 最大缓存大小(MB)maxWorkerCount
: 最大工作进程数
2 - 配置示例
基础配置示例:
json
{
"exclude": [
".history",
"build",
"dist",
"logs",
"**/node_modules",
"**/__pycache__"
],
"include": [
"src",
"tests"
],
"ignore": [
"reportMissingImports"
]
}
严格类型检查配置示例:
json
{
"typeCheckingMode": "strict",
"reportMissingImports": true,
"reportMissingTypeStubs": true,
"reportGeneralTypeIssues": true,
"reportOptionalMemberAccess": true,
"useLibraryCodeForTypes": true
}
3 - 最佳实践
渐进式采用
- 开始时使用
"typeCheckingMode": "basic"
- 随着项目成熟,逐步过渡到
"strict"
模式
- 开始时使用
性能优化
- 使用
exclude
排除不需要检查的目录 - 适当设置
maxCacheSize
和maxWorkerCount
- 使用
类型存根文件
- 为第三方库创建类型存根文件(.pyi)
- 使用
reportMissingTypeStubs
确保类型存根完整性
虚拟环境
- 正确配置
venvPath
和venv
确保类型检查使用正确的环境
- 正确配置
错误处理
- 使用
ignore
配置临时忽略特定错误 - 定期审查忽略的错误,确保它们仍然合理
- 使用
VS Code 集成
在 VS Code 中使用 Pyright:
- 安装 Pylance 扩展
- 在设置中启用 Pyright:
json
{
"python.analysis.typeCheckingMode": "basic"
}
- 可选:在项目级别覆盖设置:
json
{
"python.analysis.typeCheckingMode": "strict",
"python.analysis.diagnosticMode": "workspace"
}