文章目录PyreFacebook 开源的 Python 类型检查器1、这玩意儿是干嘛的2、安装需要什么3、怎么用起来4、适合哪些人用PyreFacebook 开源的 Python 类型检查器pyre-check 在 GitHub 上已经拿到 7,165 Star 了。Facebook 开源了这个工具专门做一件事给 Python 代码做静态类型检查。它兼容 PEP 484 标准能增量分析百万行级别的代码库开发者写代码的同时就能拿到类型错误反馈。1、这玩意儿是干嘛的Pyre 是一个高性能的 Python 类型检查器。它的核心能力就两点检查类型注解是否合规以及在代码变更时增量更新检查结果。普通类型检查器每次都要扫完整项目项目大了就慢。Pyre 的做法是启动一个守护进程监听文件系统变化只检查改动的部分。第一次运行会慢一些后续调用基本是即时的。除了类型检查Pyre 还内置了 Pysa。这是一个专注于安全的静态分析工具能追踪 Python 应用中的数据流帮开发者发现潜在的安全漏洞。Pysa 也以 GitHub Action 的形式发布在 Marketplace 上CI 流程里可以直接集成。2、安装需要什么环境要求不高Python 3.9 以上再加一个 watchman。macOS 用户用 homebrew 就能搞定brewinstallpython3 watchmanUbuntu、Debian 系列先装 Python再用 homebrew 装 watchmansudoapt-getinstallpython3 python3-pip python3-venv brewinstallwatchmanFacebook 测试过的系统包括 Ubuntu 18.04.5 LTS、CentOS 7以及 macOS 10.11 及以上版本。3、怎么用起来新建项目目录创建虚拟环境然后装包mkdirmy_projectcdmy_project python3-mvenv ~/.venvs/venvsource~/.venvs/venv/bin/activate pipinstallpyre-check装完之后初始化配置pyre init这条命令会在项目目录下生成.pyre_configuration和.watchmanconfig默认配置先接受后面随时可以改。初始化完成就能跑检查了。写个测试文件故意放个类型错误echoi: int stringtest.py pyrePyre 会输出具体的类型不匹配信息包括行号、列号和错误描述。守护进程会在后台运行之后每次改代码Pyre 都会自动增量检查速度比第一次快很多。详细的文档和进阶配置可以访问 pyre-check.org。4、适合哪些人用维护大型 Python 项目、需要类型安全保障的团队对代码质量有要求、想渐进式引入类型注解的开发者需要安全审计、想排查数据流风险的工程团队另外 Facebook 已经推出了下一代类型检查器 Pyrefly长期用的话可以关注一下这个新项目。全审计、想排查数据流风险的工程团队另外 Facebook 已经推出了下一代类型检查器 Pyrefly长期用的话可以关注一下这个新项目。