裤子项目及其用户使用的各种Flake8皮棉。
flake8-pantsbuild的Python项目详细描述
flake8 pantsbuild公司
这个Flake8插件提供了裤子项目及其用户使用的几个自定义lint。在
目录
安装
如果与裤子一起使用,请将其添加到您的pants.toml
:
[GLOBAL]backend_packages2.add=["pants.backend.python.lint.flake8"][flake8]extra_requirements.add=["flake8-pantsbuild"]
如果使用不带裤子的Flake8,请安装:
^{pr2}$支持的Python版本
此插件可用于Python3.6+。在
如果您需要对Python2.7或Python3.5的支持,请安装flake8-pantsbuild==1.*
,并参考https://github.com/pantsbuild/flake8-pantsbuild/blob/1.x/README.md上的自述文件。在
使用
如果与裤子一起使用,请像往常一样运行./pants lint file.py
。在
如果不穿裤子使用,请运行flake8 file.py
as usual。在
错误代码
Error code | Description | Notes |
---|---|---|
PB10 | Using class attribute that breaks inheritance | |
PB11 | Using a constant on the left-hand side of a logical operator | |
PB12 | Using a constant on the right-hand side of an and operator | |
PB13 | Using ^{ | |
PB20 | Check for 2-space indentation | Disabled by default¹ |
PB30 | Using slashes instead of parentheses for line continuation | Disabled by default² |
¹要启用PB20
缩进lint,请设置--enable-extensions=PB20
。您需要通过--extend-ignore=E111
禁用E111
(检查4空格缩进)。您可能还想禁用E121
、E124
、E125
、E127
和{
²要启用PB30
尾部斜杠lint,请设置--enable-extensions=PB30
。在
从lint.pythonstyle
迁移到{}
lint.pythonstyle
是来自pants.contrib.python.checks
插件的定制裤子任务,其行为类似于Flake8,但通常不如更流行的Flake8。在
工具之间的差异
Pants的lint.pythonstyle
任务运行pycodestyle
和{
相比之下,Flake8运行pycodestyle
和pyflakes
,但它也使用mccabe
来检查代码的复杂部分及其adds its own lints。默认情况下,Flake8没有任何自定义的lint.pythonstyle
lint,但是below table显示了如何保留您想要的任何这些lint。在
Flake8有数百个插件,你可以很容易地添加到裤子。请参阅Awesome Flake8 Extensions,以获得一个精心策划的插件列表。在
迁移步骤
首先,按照installation instructions将Flake8与裤子挂钩。然后,通过从您的pants.toml
中删除pants.contrib.python.checks
,禁用{
然后,通过运行./pants lint file.py
来运行Flake8(请参见Usage)。在
第一次运行./pants lint
,由于它与lint.pythonstyle
的不同,可能会有几个错误。我们建议从disabling开始,这些错误出现在^{pants.toml
以确保裤子使用配置:
[flake8]config="path/to/.flake8"
如果要保留lint.pythonstyle
中的任何自定义lint,请参阅下表。您需要通过将此添加到您的pants.toml
来安装其他插件:
[flake8]extra_requirements.add=["flake8-pantsbuild","pep8-naming","flake8-import-order",# and so on...]
定制皮棉的替代品
^{tb2}$¹默认情况下禁用此lint。有关如何启用此lint的说明,请参阅上面的^{
²要将isort
与裤子一起使用,请在pants.toml
中设置backend_packages2.add = ["pants.backend.python.lint.isort"]
。在
PB6*
lint仅在该插件的1.x
发行系列中可用,因为2.x
删除了对python2的支持。{关于如何使用这个插件,请参考^上的说明。在
发展
我们使用tox来实现测试自动化。要运行测试套件,请调用tox:
$ tox
您可以使用tox -e
运行某些环境(运行tox -a
查看所有选项):
$ tox -e format-run $ tox -e typecheck $ tox -e py36
您也可以通过使用此插件构建PEX来手动测试,如下所示:
$ pex flake8 . --entry-point flake8 --output-file flake8.pex
$ vim example.py # add whatever content you want
$ ./flake.pex example.py
- 项目
标签: