首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Arch中安装python语言服务器时,如何确保它使用YAPF进行代码格式化?

在Arch中安装python语言服务器时,如何确保它使用YAPF进行代码格式化?
EN

Unix & Linux用户
提问于 2020-02-07 05:08:07
回答 1查看 752关注 0票数 1

python-language-server (Python支持)是Arch中凯特编辑器的一个新的可选依赖项。

下面是一些关于为什么这可能很有趣的背景介绍:

Langserver.org

为什么是LSP?LSP创造了一个机会,可以减少m-times n复杂性问题,即在任何编辑器、IDE或客户端端点中为任何编程语言提供更高水平的支持,使之成为一个更简单的m+-n问题。

我决定试一试。因此,我在这里查看了更多的信息:

palantir/ Python -语言服务器:Python语言服务器协议的一种实现

我想使用YAPF,所以我注意到了以下信息:

可以使用附加语法安装可选提供程序。要安装YAPF格式,例如:

代码语言:javascript
复制
pip install 'python-language-server[yapf]'

我想安装它使用的拱形回购,而不是pip。我的问题是,当从Arch repos安装‘python server’时,我如何获得相同的结果?这是否等同呢?

代码语言:javascript
复制
pacman -Syu python-language-server yapf

可选背景:我为什么要使用YAPF:

大多数当前用于Python的格式化程序--例如autopep8和pep8ify --都是为了从代码中删除链接错误。这有一些明显的局限性。例如,符合PEP 8准则的代码可能不会重新格式化。但这并不意味着代码看起来很好。YAPF采取了不同的方法。它是以丹尼尔·贾斯珀( Daniel )开发的“clang格式”为基础的。本质上,该算法将代码重新格式化为符合样式指南的最佳格式,即使原始代码没有违反样式指南。这个想法也类似于Go编程语言的“gofmt”工具:结束关于格式的所有神圣战争--如果一个项目的整个代码基只要做了修改就简单地通过YAPF,那么整个项目的样式保持一致,在每个代码评审中争论样式都是没有意义的。最终目标是YAPF生成的代码与程序员按照样式指南编写的代码一样好。它消除了维护代码的一些苦差事。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-02-07 05:52:32

pacman -S python-language-server yapf将实现与pip install 'python-language-server[yapf]'相同的结果。您甚至可以通过使用pacman安装并尝试pip命令来证明这一点,它将告诉您已经满足了需求。

代码语言:javascript
复制
$ pip install 'python-language-server[yapf]'
Requirement already satisfied: python-language-server[yapf] in /usr/lib/python3.8/site-packages (0.31.7)
Requirement already satisfied: jedi<0.16,>=0.14.1 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.15.1)
Requirement already satisfied: python-jsonrpc-server>=0.3.2 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.3.4)
Requirement already satisfied: pluggy in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.13.1)
Requirement already satisfied: ujson<=1.35 in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (1.35)
Requirement already satisfied: yapf in /usr/lib/python3.8/site-packages (from python-language-server[yapf]) (0.29.0)
Requirement already satisfied: parso>=0.5.0 in /usr/lib/python3.8/site-packages (from jedi<0.16,>=0.14.1->python-language-server[yapf]) (0.6.1)
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/566239

复制
相关文章

相似问题

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