首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tox:针对flake8和pylint等工具的平台配置

Tox:针对flake8和pylint等工具的平台配置
EN

Stack Overflow用户
提问于 2021-04-01 16:12:20
回答 1查看 485关注 0票数 0

我在linux和windows环境中都有ci的tox.ini配置,类似这样:

代码语言:javascript
复制
[tox]
envlist =
    {py3,py27}-{test,lint}-{linux,windows}
    flake8
    check-package
skip_missing_interpreters = true
isolated_build = True
distdir = dist

[testenv]
platform =
    linux: linux
    windows: win

# Reuse py3 and py27 envs for pylint
envdir =
    py3: {toxworkdir}/py3
    py27: {toxworkdir}/py27
    !py3-!py27: {toxworkdir}/{envname}
deps =
    py27: setuptools < 45.0.0

# test extras must include pytest and pylint
extras = test
commands =
    test: python -m pytest -c {toxinidir}/pytest.ini --junitxml=test-reports/pytest.{envname}.xml {posargs}
    lint: python -m pylint --rcfile=tox.ini src/displaylink {posargs}

[testenv:flake8]
basepython = python3
skip_install = true
deps = flake8
commands = flake8 src tests

[tool:pylint]
disable = missing-docstring,
          R,
          C,
          line-too-long
output-format = parseable
reports = no
extension-pkg-whitelist = win32api, win32gui

[flake8]
ignore = E501, E722, W503
per-file-ignores =
    # imported but unused
    __init__.py: F401
max-complexity = 10

问题是我如何为工具(flake和pylint)添加每个平台的配置?我需要从flake8中排除文件/目录,并根据操作系统运行pylint,例如,我有windows子目录,其中的文件在linux上不能通过linting,反之亦然。

编辑:

我在linux上遇到的pylint错误示例:

代码语言:javascript
复制
py3-lint-linux run-test: commands[0] | python -m pylint --rcfile=tox.ini src/displaylink

************* Module displaylink.qa.windows.registry
registry.py:4: [E0401(import-error), ] Unable to import 'win32con'
registry.py:74: [E0602(undefined-variable), reg_value_exists] Undefined variable 'WindowsError'
registry.py:82: [E0602(undefined-variable), reg_key_exists] Undefined variable 'WindowsError'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-01 19:55:19

也许我错过了你需求中的某些部分,但是运行特定于flake8平台的代码似乎非常简单:

代码语言:javascript
复制
[testenv]
platform =
    linux: linux
    windows: win

[testenv:flake8]
deps = flake8
commands =
    linux: flake8 <linux specific directories>
    windows: flake8 <windows specific directories>

另请与official documentation进行比较。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66900752

复制
相关文章

相似问题

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