我正在探索Python的静态类型检查器,在设置VisualStudio代码时遇到了不同的包。我已经安装了python-language-server
用于linting和格式化。我遇到了mypy.exe
和mypyls.exe
可执行文件
我可以
pip install mypy
pip install mypy-lang
pip install pyls-mypy
以上三个方面都很有效。但是,
mypy
、mypy-lang
和pyls-mypy
包之间的区别李>python-language-server
相关?如果是,如何进行李>
{}包包含mypy类型检查器,它执行所有实际的代码分析、类型推断和类型检查
mypy-lang
包是一个不推荐使用的包。如果您安装它/尝试使用它,我相信它所能做的就是告诉您应该安装mypy
包(尽管我不确定此注释的实际可见程度)基本上,当mypy第一次被创建时,有人已经在pypi上为一个不相关的项目取了“mypy”名称,因此mypy开发人员选择了“mypy lang”
但在几年/几次尝试联系“mypy”软件包的所有者失败后,很明显软件包被放弃了,所以所有权转移给了mypy开发人员
pyls-mypy
包是一个独立的项目,它基本上实现了一个理解类型提示的Python语言服务器“language server protocol”是一种日益流行的协议,它试图使在IDE中添加更好的编程语言工具变得更容易
这个想法是,如果你拥有一种编程语言或一些linter,你不想为N个不同的编辑器编写N个不同的插件。相反,您只需实现此协议一次,任何支持LSP的IDE和编辑器就会自动理解您的工具
安装pyls mypy“只起作用”的原因可能是因为它声明了mypy as a dependency
类型检查只需要mypy包
但是,mypy本身只能从命令行调用。如果您想将其与其他编辑器或IDE集成,则需要安装一些额外的工具
例如,如果您想从PyCharm中直接使用mypy,则需要install a mypy/Pycharm plugin
另一个例子是,如果您想从支持LSP的编辑器中使用mypy,则需要安装类似于pyls mypy的东西
pyls mypy显然是Palantir的python语言服务器项目之上的插件。请参阅project readme及其requirements.txt文件
相关问题 更多 >
编程相关推荐