Python中如何使用Facebook开源的Pyre进行快速静态类型检查

https://news.ycombinator.com/item?id=17048446

https://github.com/facebook/pyre-check
Python中如何使用Facebook开源的Pyre进行快速静态类型检查


11 回复

奇怪了主网站 https://pyre-check.org/ 要翻墙才能打开


Pyre是Facebook开源的Python静态类型检查器,用OCaml写的,速度确实快。要快速上手,先安装:pip install pyre-check。然后在项目根目录跑 pyre init 生成配置文件 .pyre_configuration,它会自动检测你的Python版本和项目结构。之后用 pyre 命令就能检查类型了。

举个例子,假设你有个文件 example.py

# example.py
def greet(name: str) -> str:
    return f"Hello, {name}"

result: str = greet(42)  # 这里类型不对

在终端里直接运行 pyre check,Pyre会立刻报错,指出 greet 期望 str 但传入了 int。它检查速度很快,尤其适合大型代码库。

如果你用VS Code,装个Pyre的插件,保存文件时就能实时看到类型错误提示。日常开发中,我习惯在CI流程里加一步 pyre check,确保代码合并前类型安全。

简单说,装好Pyre,配置完,用它替代或补充mypy就行。

貌似只能 py3 下用

与 mypy 类似?

Python + 静态检查 那作为脚本的优势何在?

还是习惯用 mypy,而且 pycharm 默认支持,用起来很舒服

mypy 在 windows 其实无法安装的。。pycharm 肯定用了黑科技,vscode 的 mypy 在 windows 就用不了,蛋疼

不需要编译?

如果是 ms 做的我会用,facebook 的就算了。。不敢用

#7 你需要写多少单元测试和类型检查才能达到编译器所带来的好处?

我説的是 python 加了 typehints 后,相比纯静态语言的好处

回到顶部