首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

微软开源Python静态类型检查器Pyright

微软最新开源Python静态类型检查器Pyright,比mypy快5倍

Python语言的静态类型检查器

创建Pyright是为了填补像mypy这样的现有Python类型检查器的漏洞。

https://github.com/Microsoft/pyright

速度

Pyright通常比mypy和其他用Python编写的类型检查器快5倍或更多。它适用于大型Python源代码库。它可以在“监视”模式下运行,并在修改文件时执行快速增量更新。

没有Python环境的依赖

Pyright是用TypeScript编写的,在节点内运行。 它不需要安装Python环境或导入的第三方包。 当它使用节点作为其扩展运行时,与VS代码编辑器一起使用效果非常好。

可配置性

Pyright支持灵活配置,可以对设置进行精细控制。 可以为源库的不同子集指定不同的“执行环境”。 每个环境都可以指定不同的PYTHONPATH设置、python语言版本和平台目标。

类型检查功能

Pyright 支持:

PEP 484类型提示,包括泛型

变量注释的PEP 526语法

PEP 544结构子类型

函数返回值、实例变量、类变量和全局变量的类型推断

理解条件代码流构造的智能类型约束,如 if/else 语句

内置类型存根

Pyright包含来自Typeshed的stdlib类型存根的最新副本。 它可以配置为使用Typeshed类型存根的另一个(可能是更新的或修改过的)副本。 当然,它也适用于作为项目一部分的自定义类型存根文件。

命令行或语言服务

Pyright包括用于VS Code的命令行工具和语言服务器协议插件。

语言服务功能

Pyright提供以下的语言服务功能:

悬停工具提示显示类型信息

符号定义的链接

在编辑期间智能优先级排队“实时”反馈

文档

命令行选项

配置

入门

Pyright内部

使用限制

Pyright目前仅提供对Python 3.0及更高版本的支持,且目前没有支持旧版本的计划。

FAQ

Q:Pyright和Microsoft Python VS Code插件有什么区别?

A:Python VS Code插件是VS Code的官方Python支持扩展。 它由Microsoft的工程师团队提供官方支持。 它支持各种功能,包括调试、linter插件、类型检查插件等等。 Pyright完全专注于类型检查。 这是一个没有专门团队的次要项目。

Q:Pyright和Microsoft Python语言服务器有什么区别?

A:Microsoft Python语言服务器是一种语言服务器协议(LSP)实现,可以和Microsoft Python VS Code插件配合使用,并由Microsoft工程师团队提供官方支持。 它还提供类型检查功能。 Pyright提供了与之重复的功能,但包括了一些独特的功能,如可配置性更高、命令行执行和更好的性能。

安装

你可以直接从VS Code安装最新发布的Pyright VS Code扩展版本。只需打开扩展程序面板并搜索pyright即可。

最新版本的命令行工具可以使用npm命令:npm i pyright进行安装

全局安装:npm i -g pyright

运行命令行工具:npx pyright

构建说明

要构建项目,请注意以下事项:

安装nodejs

在克隆源的主目录中打开终端窗口

执行npm run install:all来安装依赖项

执行npm run build

构建VS Code扩展包,请注意以下事项:

步骤与以上部分相同,但是需要再加一个步骤:

执行npm run package

生成的包(pyright-X.Y.Z.vsix)可以在客户端目录中找到。如需在VS Code中安装,请转到扩展面板,然后从菜单中选择“从VSIX安装...”,然后选择对应的包即可。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190325A0M4UH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券