前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >资源 | Github项目推荐 | 微软开源Python静态类型检查器Pyright

资源 | Github项目推荐 | 微软开源Python静态类型检查器Pyright

作者头像
AI科技评论
发布2019-10-31 16:29:36
8450
发布2019-10-31 16:29:36
举报
文章被收录于专栏:AI科技评论

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

Python语言的静态类型检查器

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

Github项目地址:(点击链接可直接打开)

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 <options>

构建说明

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

  • 安装nodejs
  • 在克隆源的主目录中打开终端窗口
  • 执行 npm run install:all 来安装依赖项
  • 执行 npm run build

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

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

执行 npm run package

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微软最新开源Python静态类型检查器Pyright,比mypy快5倍
  • Python语言的静态类型检查器
    • 速度
      • 没有Python环境的依赖
        • 可配置性
          • 类型检查功能
            • 内置类型存根
              • 命令行或语言服务
                • 语言服务功能
                • 文档
                  • 使用限制
                    • FAQ
                      • 安装
                        • 构建说明
                        相关产品与服务
                        云服务器
                        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档