首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mypy与mypy的区别-lang对pyls-mypy python包

mypy与mypy的区别-lang对pyls-mypy python包
EN

Stack Overflow用户
提问于 2020-01-27 04:10:45
回答 1查看 1.6K关注 0票数 3

我正在探索Python的静态类型检查器,并在设置Visual代码时遇到了不同的包。我已经安装了python-language-server,用于衬里和格式化。我偶然发现了mypy.exemypyls.exe的可执行文件。

我可以做,

pip install mypy

pip install mypy-lang

pip install pyls-mypy

以上三件作品。但,

  1. 我想知道mypymypy-langpyls-mypy包之间的区别吗?
  2. 其中哪一个是用来启用类型检查器(还是所有的3都是必需的)?
  3. 这些包是否以任何方式与python-language-server相关?如果是,怎么做?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-01 17:46:38

我想知道类型,记忆-朗和小矮人包之间的区别?

mypy包包含mypy类型检查器,它执行所有实际的代码分析、类型推断和类型检查。

mypy-lang包是一个不推荐的包。如果您安装它/尝试使用它,我相信它所做的就是告诉您应该安装mypy包(虽然我不知道这条注释的实际可见程度)。

基本上,事实证明,当mypy第一次创建时,已经有人为一个无关的项目在pypi上抢占了" mypy“的名字,所以mypy以”mypy“代替。

但是,在几年后,很少有人试图联系" mypy“包的所有者,很明显,这个包被放弃了,所以所有权被转移到了mypy devs。

pyls-mypy包是一个独立的项目,它基本上实现了一个理解类型提示的Python服务器。

"语言服务器协议“是一种正在逐渐流行的协议,它试图使在IDE中添加更好的编程语言工具变得更容易。

这样做的想法是,如果您拥有一种编程语言或某些linter,您不希望为N个不同的编辑器编写N个不同的插件。相反,您只需实现该协议一次,任何支持LSP的IDE和编辑器都会自动理解您的工具。

安装pyls-mypy的原因可能是因为它声明了形似依附

其中哪一个是用来启用类型检查器(还是所有的3都是必需的)?

类型检查只需要mypy包。

但是,mypy本身只能从命令行调用。如果您想将它与其他编辑器或IDE集成,则需要安装一些额外的工具。

例如,如果要在PyCharm中直接使用mypy,则需要使用安装mypy/Pycharm插件

另一个例子是,如果您想使用某个支持LSP的编辑器的mypy,您需要安装类似pyls-mypy的东西。

这些包与python语言服务器有任何关系吗?如果是,怎么做?

pyls显然是Palantir的python语言服务器项目之上的一个插件。请参阅项目自述及其requirements.txt文件。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59925045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档