标签: pylint

以编程方式调用pylint

作为单元测试的一部分,我想调用限制在错误信号部分的pylint检查器.所以我检查了pylint可执行脚本,进入了pylint.lint.Run助手类,在那里我迷失了很长时间的__init__功能,以调用结束sys.exit().

有人试过并设法这样做吗?

梦想计划将是这样的:

if __name__ == '__main__':
  import pylint.lint
  pylint.lint.something(__file__, justerrors=True)
  # now continue with unit testing
Run Code Online (Sandbox Code Playgroud)

任何提示?除了"复制__init__方法并跳过sys.exit()",我的意思是?

我并不需要通过运行测试pylint,它也可能是pyflakes或其他软件:随时提出替代方案.谢谢!

python automated-tests coding-style pylint

33
推荐指数
3
解决办法
9282
查看次数

可以自定义Pylint错误检查吗?

我正在使用pydev,我已经设置了pylint.问题是即使在评论中,pylint也会报告警告.我希望在任何行或块注释中禁用任何类型的检查.另外,我希望在我的代码中遵循camelCase命名约定而不是下划线中的变量和参数.有没有办法指定这样的规则而不用任何pylint插入我的代码:禁用评论?

python pylint pydev

33
推荐指数
2
解决办法
3万
查看次数

pylint被目录忽略

以下是来自pylint的文档:

--ignore=<file>
    Add <file or directory> to the black list. It should be a base name, not a path. You may set this option multiple times. [current: %default]
Run Code Online (Sandbox Code Playgroud)

然而,我没有运气让目录部分工作.

我有一个名为migrations的目录,它有django-south迁移文件.当我输入--ignore = migrations时,它仍然会在迁移目录中的文件中向我提供错误/警告.

难道这--ignore不适用于目录吗?

如果我甚至可以使用regexp来匹配被忽略的文件,那么django-south文件都被命名为0001_something,0002_something ...


由于我无法通过目录来忽略工作,我只是简单地放在# pylint: disable-msg-cat=WCREFI每个迁移文件的顶部,忽略所有的pylint错误,警告和信息.

python pylint

32
推荐指数
5
解决办法
2万
查看次数

Pylint仅显示警告和错误

我想使用pylint来检查我的代码,但我只对错误和警告级别感兴趣.有没有办法在命令行或pylintrc中执行此操作?

我对过滤给定的问题不感兴趣(比如在MESSAGE CONTROL中列出所有消息),我只想让pylint忽略所有约定和重构消息.

注意:我不认为这是使用Pylint显示错误和警告的重复

python pylint

32
推荐指数
2
解决办法
2万
查看次数

如何配置PyLint来检查PEP8检查的所有内容?

在PyLint的邮件列表中搜索答案没有带来任何有趣的结果.
众所周知PyLint是可定制的,所以我想这应该是可能的......

我希望PyLint检查是否符合PEP8的原因是因为

  • PyDev 对PyLint的支持比对PEP8的支持要好得多.
  • 让一个工具执行所有检查比使用两个检查更容易.

我也在PyLint的邮件列表上问过这个问题:http: //thread.gmane.org/gmane.comp.python.logilab/1039

来自PEP8的诊断消息示例,我没有从PyLint获得:

  • E203在':'之前的空格
  • E225在运营商周围缺少空白
  • E251关键字/参数周围没有空格等于
  • E301预计1空行,发现0
  • E303空行太多
  • E501线太长(90个字符)
  • W291尾随空格
  • W292在文件末尾没有换行符
  • W293空行包含空格

python coding-style lint pep8 pylint

30
推荐指数
1
解决办法
1万
查看次数

禁用 VS Code settings.json 中的特定 Pylance linting 消息,如“python.linting.pylintArgs”

Pylance被介绍时,我提出了一个关于如何通常自定义 Pylance linting 的问题。在这里,人们可以找到几种自定义 Pylance 的方法,但没有介绍如何抑制、静音或实际禁用某些警告和错误。

回顾一下,使用pylint可以指定以下内容VS Code settings.json来禁用特定错误/警告:

"python.linting.pylintArgs": [
    "--disable=C0111"
]
Run Code Online (Sandbox Code Playgroud)

至于背景,由于过多的 Pylance(reportMissingImports) linting 错误尚未解决,并且由于项目需求,我与 Pylance 同时启用了 pylint。尽管如此,这些无数的 Pylance(reportMissingImports) linting 错误仍然很烦人,我想完全消除它们。

pylint python-3.x visual-studio-code pylance

29
推荐指数
1
解决办法
3万
查看次数

如何修复:W602弃用异常提升形式

如果我使用pylint(通过sublimerlinter),我收到以下警告消息:

W602 deprecated form of raising exception

这个我如何在我的代码中使用异常:

if CONDITION == True:
    raise ValueError, HELPING_EXPLANATION
Run Code Online (Sandbox Code Playgroud)

python pep8 pylint

28
推荐指数
1
解决办法
6411
查看次数

禁用Pylint没有成员 - 特定库的E1101错误

无论如何都要隐藏E1101从特定库创建的对象的错误?我们的大型存储库充斥着#pylint: disable=E1101大熊猫创建的各种对象.

例如,pylint将在以下代码上抛出无成员错误:

import pandas.io.data
import pandas as pd
spy = pandas.io.data.DataReader("SPY", "yahoo")
spy.to_csv("test.csv")
spy = pd.read_csv("test.csv")
close_px = spy.ix["2012":]
Run Code Online (Sandbox Code Playgroud)

会有以下错误:

E:  6,11: Instance of 'tuple' has no 'ix' member (no-member)
E:  6,11: Instance of 'TextFileReader' has no 'ix' member (no-member)
Run Code Online (Sandbox Code Playgroud)

pylint pandas

28
推荐指数
3
解决办法
1万
查看次数

PyLint最佳实践?

pyLint看起来像是运行python代码分析的好工具.但是,我们的主要目标是捕获任何潜在的错误而不是编码约定.启用所有pyLint检查似乎会产生很多噪音.关于你使用的一组pyLint功能的任何建议是否有效?

python static-analysis pylint

27
推荐指数
4
解决办法
3万
查看次数

如何修复Pylint"错误的悬挂缩进"和PEP8 E121?

我试图正确缩进下面的代码:

RULES_LIST = [
    ('Name1', 1, 'Long string upto 40 chars'),
    ('Name2', 2, 'Long string upto 40 chars'),
    ('Name3', 3, 'Long string upto 40 chars'),
    ('Name4', 4, 'Long string upto 40 chars'),
    ('Name5', 5, 'Long string upto 40 chars'),
    ('Name6', 6, 'Long string upto 40 chars'),
    ('Name7', 7, 'Long string upto 40 chars'),
    ('Name8', 8, 'Long string upto 40 chars')
]
Run Code Online (Sandbox Code Playgroud)

pylint的抱怨Wrong hanging indentation.对于上面的代码,并PEP8抱怨E121: under-indented for hanging indent.

针对pylint的可能修复方法是将其更改为:

RULES_LIST = [\
    ('Name1', 1, 'Long string …
Run Code Online (Sandbox Code Playgroud)

python pep8 pylint indentation

27
推荐指数
3
解决办法
2万
查看次数