如何将pylint作为setup.py测试过程的一部分?

13

我试图将对所有.py文件进行pylint检查并将其添加到setuptools的test流程中(也许我做错了什么,请纠正我)。这是我在setup.py中所做的事情:

class MyTest(test):
  def run_tests(self):
    import pytest
    import pylint
    if (pylint.run_pylint()):
        sys.exit(-1)
    if (pytest.main(self.test_args)):
        sys.exit(-1)
setup(
  tests_require = ['pytest', 'pylint'],
  cmdclass = {'test': MyTest},
...
当我运行python setup.py test时,输出看起来很混乱... 我是正确的吗?

你有一个关于“输出错误”的例子吗? - Joe Holloway
@Joe 在没有适当的Pylint报告的情况下出现了异常。需要完整文本吗?它非常长... - yegor256
不需要完整的日志,但是一些关于你看到的错误的指示会很有帮助。 - Joe Holloway
2个回答

5

以下是适用于我的配置:setup.py文件中:

setup(
    name='...',
    setup_requires=['pytest-runner', 'pytest-pylint', ...],
    tests_require=['pytest', 'pylint']
    ...
    )

setup.cfg 文件中:
[aliases]
test=pytest

[pytest]
addopts = --pylint --pylint-rcfile=...

然后您只需输入以下命令即可运行pylint:

python setup.py test

3
setup.cfg文件中的[pytest]部分已经被弃用,请改用[tool:pytest]。 - Pejman

1
如果您已经在使用py.test,您可以安装pytest-pylint并将其添加到您的setup.cfg文件中:
[tool:pytest]
addopts = --pylint

3
需要安装 pytest-pylint 才能完成此操作。 - AnnanFay
1
[pytest] 部分在 setup.cfg 文件中已经被弃用,请使用 [tool:pytest] 代替。 - Pejman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接