gpt4 book ai didi

python - 将备用 flake8 规则应用于文件子集

转载 作者:行者123 更新时间:2023-12-01 22:08:09 25 4
gpt4 key购买 nike

我有一个项目,我在其中使用 tox 进行测试,它运行 flake8 测试。我想将不同的 flake8 配置应用于我的测试目录,而不是其他任何东西;我想在我的测试中忽略 E402,因为我在导入要测试的模块之前弄乱了 sys.path

flake8 配置语法只允许您将一种配置应用于包含/排除匹配的文件,因此我添加了 ./tests/.flake8 以添加仅应用于这些文件的配置。

./tox.ini

[tox]
envlist = lint, py27, py36

[testenv]
commands =
coverage run --source=myModule -a setup.py test

[testenv:lint]
basepython = python3
ignore_errors = True
deps =
-r{toxinidir}/requirements_test.txt
commands =
flake8
pylint myModule
pydocstyle myModule tests

[flake8]
count = true
statistics = True

./tests/.flake8

[flake8]
ignore = E402

使用我的 tox.ini 文件中的 flake8 选项,点文件总是被忽略。由于 tox.ini 文件中没有任何选项,flake8 从命令行运行时使用点文件,但在 tox 运行时将被忽略。

看起来没有办法将不同的 flake8 配置应用于同一项目下的不同文件集。我是否遗漏了配置语法中的某些内容,这些内容允许我在此处执行我想执行的操作?

最佳答案

从 3.7.0 版本开始 flake8 now includes一个标志来做你想做的事:per-file-ignores。要在您的配置文件中使用它,请执行以下操作:

[flake8]
per-file-ignores =
tests/*: E402

它也可以通过在 flake8 调用中添加这样的标志在命令行上应用:

--per-file-ignores=tests/*.py:E402

关于python - 将备用 flake8 规则应用于文件子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50301500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com