该包python-language-server
(Python LSP 支持)是 Arch Linux 中 Kate 编辑器的一个新的可选依赖项。
以下是为什么这可能很有趣的一些背景:
为什么选择 LSP?LSP 创造了减少 m-times-n 复杂性问题的机会,即为任何编辑器、IDE 或客户端端点中的任何编程语言提供高级别的支持,以简化 m-plus-n 问题。
我决定要试一试。所以我在这里查看了更多信息:
palantir/python-language-server:Python 语言服务器协议的实现
我想使用YAPF,所以我记下了以下信息:
可以使用 extras 语法安装可选的提供程序。以安装 YAPF 格式为例:
pip install 'python-language-server[yapf]'
我想使用 Arch repos 而不是 pip 安装它。我的问题是,从 Arch 存储库安装“python-language-server”时如何获得相同的结果?这会是等价的吗?
pacman -Syu python-language-server yapf
可选背景:我为什么要使用 YAPF:
大多数当前的 Python 格式化程序——例如,autopep8 和 pep8ify——都是为了从代码中删除 lint 错误。这有一些明显的局限性。例如,可能不会重新格式化符合 PEP 8 指南的代码。但这并不意味着代码看起来不错。
YAPF 采取了不同的方法。它基于 Daniel Jasper 开发的“clang-format”。本质上,该算法采用代码并将其重新格式化为符合样式指南的最佳格式,即使原始代码没有违反样式指南。这个想法也类似于 Go 编程语言的“gofmt”工具:结束所有关于格式化的圣战——如果一个项目的整个代码库在进行修改时简单地通过 YAPF 进行管道传输,那么整个项目的风格保持一致,并且有没有必要在每次代码审查中争论风格。
最终目标是 YAPF 生成的代码与程序员遵循样式指南编写的代码一样好。它消除了维护代码的一些苦差事。
是的
pacman -S python-language-server yapf
将达到与 相同的结果pip install 'python-language-server[yapf]'
。您甚至可以通过使用 pacman 安装来证明这一点,然后尝试该pip
命令,它会告诉您 Requirement 已经满足。