Questions tagged «pylint»

Python源代码分析器,查找错误和质量低劣的迹象。

2
PyLint,PyChecker或PyFlakes?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我想在以下工具上获得一些反馈: 特征; 适应性 易用性和学习曲线。

12
如何禁用Pylint警告?
我正在尝试在Pylint 0.21.1中禁用警告C0321(“在一行上有多个语句” –我经常将if具有短单行结果的语句放在同一行上)(如果重要:astng 0.20)。 1,常见的0.50.3,Python 2.6.6(r266:84292,2010年9月15日,16:22:56)。 我尝试添加disable=C0321Pylint配置文件,但是Pylint坚持要报告它。该行的变化(例如disable=0321或disable=C321)被标记为错误,因此Pylint 确实正确识别了该选项,只是忽略了它。 这是Pylint的错误,还是我做错了什么?有没有办法解决?我真的很想摆脱一些杂音。
266 python  pylint 

4
为什么Pylint认为在条件值中使用len(SEQUENCE)不正确?
考虑以下代码片段: from os import walk files = [] for (dirpath, _, filenames) in walk(mydir): # more code that modifies files if len(files) == 0: # <-- C1801 return None Pylint使我对有关if语句行的消息感到震惊: [pylint] C1801:请勿len(SEQUENCE)用作条件值 乍一看,规则C1801在我看来并不十分合理,参考指南中的定义也无法解释为什么这是一个问题。实际上,它彻头彻尾地称其为不正确的用法。 len-as-condition(C1801): 不要len(SEQUENCE)用作条件值当Pylint检测到内部条件不正确使用len(sequence)时使用。 我的搜索尝试也未能为我提供更深入的解释。我确实知道,序列的length属性可能会被延迟评估,并且__len__可以编程为具有副作用,但是令人怀疑的是,仅此一个问题是否足以使Pylint认为这种用法不正确。因此,在我简单地将项目配置为忽略规则之前,我想知道我的推理中是否缺少某些内容。 什么时候将len(SEQ)用作条件值有问题?Pylint尝试使用C1801避免哪些主要情况?

22
PyLint“无法导入”错误-如何设置PYTHONPATH?
我正在Windows的Wing IDE中运行PyLint。我的项目中有一个子目录(程序包),在程序包中,我从顶层(即)导入模块。 __init__.py myapp.py one.py subdir\ __init__.py two.py 在two.py我的内部import one,这在运行时效果很好,因为顶层目录(从中myapp.py运行)位于Python路径中。但是,当我在two.py上运行PyLint时,出现了一个错误: F0401: Unable to import 'one' 我该如何解决?

22
如何让PyLint识别numpy成员?
我在Python项目上运行PyLint。PyLint抱怨无法找到numpy成员。在避免跳过成员资格检查的同时如何避免这种情况。 从代码: import numpy as np print np.zeros([1, 4]) 运行时,我得到了预期的结果: [[0. 0. 0. 0.]] 但是,pylint给了我这个错误: E:3,6:模块'numpy'没有'zeros'成员(no-member) 对于版本,我使用的是pylint 1.0.0(星号1.0.1,常见的0.60.0),并尝试使用numpy 1.8.0。
163 python  numpy  pylint 

3
PyLint消息:日志记录格式插值
对于以下代码: logger.debug('message: {}'.format('test')) pylint 产生以下警告: 日志记录格式插值(W1202): 在日志记录函数中使用%格式,并将%参数作为参数传递。在日志记录语句的调用形式为“ logging。(format_string.format(format_args ...))”时使用。此类调用应改为使用%格式,但通过将参数作为参数传递,将插值留给日志记录函数。 我知道我可以关闭此警告,但我想理解它。我假定使用format()是在Python 3中打印语句的首选方法。为什么这对于logger语句不是正确的?

4
是否可以忽略带有pylint的单个特定行?
标头中包含以下行: import config.logging_settings 这实际上改变了我的python日志记录设置,但是pylint认为这是未使用的导入。我一般不希望删除unused-import警告,因此可以忽略这一行吗? 我不介意.pylintrc为此项目准备一个,因此更改配置文件的答案将被接受。 否则,这样的事情也将不胜感激: import config.logging_settings # pylint: disable-this-line-in-some-way
150 python  pylint 

12
在Django中使用Pylint
我非常想将pylint集成到我的python项目的构建过程中,但是我遇到了一个问题:我发现一种非常有用的错误类型:-- E1101: *%s %r has no %r member*在使用通用django字段时不断报告错误, 例如: E1101:125:get_user_tags: Class 'Tag' has no 'objects' member 这是由以下代码引起的: def get_user_tags(username): """ Gets all the tags that username has used. Returns a query set. """ return Tag.objects.filter( ## This line triggers the error. tagownership__users__username__exact=username).distinct() # Here is the Tag class, models.Model is …

30
Visual Studio Code中的Pylint“无法解析的导入”错误
我正在使用以下设置 macOS v10.14(Mojave) 的Python 3.7.1 Visual Studio代码1.30 皮林特2.2.2 Django 2.1.4 我想使用棉绒使我的生活在Visual Studio Code中更加轻松。但是,对于每个导入,我都有“未解决的导入”状态。即使是默认的Django导入(即从django.db导入模型)。 我认为这是因为它没有看到虚拟环境Python文件。 一切正常,但开始变得烦人。 我拥有的解释器选择都是Python的所有系统版本。似乎根本看不到我的虚拟环境Python(它与我的工作空间不在同一个目录中,所以这很有意义)。 如果我在settings.json文件中设置了python.PythonPath,它只会忽略它,并且不会将我的虚拟环境路径作为选项列出。我也尝试在全局Python设置中进行设置,但它也没有显示。 有快速解决方案可以使其正常工作吗?

2
如何创建pylintrc文件
我正在运行linux。我可以做类似的事情pylint --generate-rcfile > .pylintrc,然后对生成的.pylintrc文件进行更改以覆盖默认设置吗?如果是的话,它应该放在我的~/目录中还是应该放在.pylint.d中?
132 pylint 


11
如何在Pylint的文件级别禁用“缺少文档字符串”警告?
Pylint引发错误,指出某些文件缺少文档字符串。我尝试为每个类,方法和函数添加docstring,但是Pylint似乎还在检查文件的开头是否应该有docstring。我可以以某种方式禁用它吗?我想在类,函数或方法中缺少文档字符串的通知,但对于具有文档字符串的文件,这不是强制性的。 (是否在专有源文件的开头经常出现法律术语?是否有任何示例?我不知道单独发布这样一个琐碎的问题是否可以。)
99 python  pylint 

5
为什么pylint反对单字符变量名?
我仍然习惯于使用python约定并使用pylint使我的代码更具pythonic风格,但是我对pylint不喜欢单字符变量名感到困惑。我有几个这样的循环: for x in x_values: my_list.append(x) 当我运行时pylint,我得到Invalid name "x" for type variable (should match [a-z_][a-z0-9_]{2,30}-这表明一个有效的变量名长度必须在3到31个字符之间,但是我浏览了PEP8命名约定,但没有看到任何有关单个小写字母的明确信息,我确实看到了很多使用它们的示例。 在PEP8中我缺少什么还是这是pylint特有的标准?

5
Pylint禁用文件的所有警告
我们在构建系统中使用pylint。我们在代码库中有一个包含可丢弃代码的python程序包,我想暂时禁用该模块的所有警告,以便不再用这些多余的消息来烦扰其他开发人员。是否有一种简单的方法来pylint: disable处理模块的所有警告?
85 python  pylint 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.