标签: pylintrc

如何使用 init-hook 让 pylint 正确导入我的文件

我按照这些说明如何让 pylint 使用init-hook.

但是,当我运行终端命令时,pylint server.py --rcfile=../.pylintrc我得到了TypeError: expected str, bytes or os.PathLike object, not NoneType. (我认为这是因为找到 rcfile 的部分init-hook在某种程度上失败了,但我不确定。)

这是我的.pylintrc文件直至相关部分(其余部分只是默认模板):

[MASTER]

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=

# Specify a score threshold to be exceeded before program exits with error.
fail-under=10.0

# Add files …
Run Code Online (Sandbox Code Playgroud)

python pylint python-3.x pylintrc

6
推荐指数
1
解决办法
6339
查看次数

BitBucket 上的 Linting 错误:TypeError:“LinterStats”对象不可下标

我正在使用 BitBucket 管道通过 pylint 执行 linting 检查。几个小时前还运行良好。尽管最终分数远远超过了最低标准(8.0),但我一直面临以下错误:

您的代码的评分为 9.43/10

Traceback (most recent call last):
  File "/usr/local/bin/pylint-fail-under", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/dist-packages/pylint_fail_under/__main__.py", line 42, in main
    score = results.linter.stats["global_note"]
TypeError: 'LinterStats' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

python pylint bitbucket bitbucket-pipelines pylintrc

6
推荐指数
1
解决办法
2172
查看次数

如何禁用 pylint 的 Missing-module-docstring 进行单元测试?

我非常喜欢 pylint 的内置文档字符串检查器。我很高兴在我的所有类、所有函数和所有模块上都需要文档字符串。

然而,我不喜欢的是 pylint 还需要我的所有测试模块和所有pytest测试函数的文档字符串。这会导致低价值的文档字符串,如下所示:

"""Tests for foo.py"""

from foo import bar

def test_bar():
    """Tests for bar"""
    assert bar(1) == 2
Run Code Online (Sandbox Code Playgroud)

我已经能够no-docstring-rgx在我的.pylintrc文件中使用禁用函数级文档字符串要求:

[MASTER]
no-docstring-rgx=^(_|test_)
Run Code Online (Sandbox Code Playgroud)

这可以解决missing-function-docstring/C0116错误。

但我还没有找到一种方法来禁用仅针对missing-module-docstring以. pylint 可以做到这一点吗?C0114_test.py

python pylint pytest pylintrc

6
推荐指数
1
解决办法
496
查看次数

如何获取 pylint 的默认配置?

我将使用这个简单的 Python 文件来说明我的问题:

import os

for i in range( -500, 0 ):
    print i
Run Code Online (Sandbox Code Playgroud)

我对此文件运行 Pylint 并收到一条消息:

$ pylint foobar.py
************* Module foobar
W:  1, 0: Unused import os (unused-import)
Run Code Online (Sandbox Code Playgroud)

现在我想禁用 类型的警告消息unused-import。但我想将其添加到 Pylint 的默认配置之上。

我认为这给了我 Pylint 的默认配置,因为帮助说它--generate-rcfile生成当前配置:

$ pylint --generate-rcfile > pylintrc
Run Code Online (Sandbox Code Playgroud)

当我在同一个文件上再次运行 Pylint 时,我现在收到更多消息:

************* Module foobar
C:  3, 0: No space allowed after bracket
for i in range( -500, 0 ):
              ^ (bad-whitespace)
C:  3, 0: No space allowed before bracket
for i in …
Run Code Online (Sandbox Code Playgroud)

python pylint pylintrc

5
推荐指数
1
解决办法
9365
查看次数

Pylint UnicodeDecodeError utf-8 无法解码字节

当我在 Windows 10 中运行安装了 pip(版本 2.1.1 和 Python V.3.7)的 pylint 时,出现此错误:

UnicodeDecodeError: 'utf-8' 编解码器无法解码位置 0 中的字节 0xff:起始字节无效。

我们如何修复它?

这是屏幕截图 Pylint 错误

python pylint python-3.x pylintrc

5
推荐指数
1
解决办法
1978
查看次数

如何将 pylint 选项卡宽度从 4 个空格更改为 2 个空格?

我试过了pylint --indent-string=" ",但我一直收到帮助信息。我应该怎么做来配置 pylint.

pylint python-3.x pylintrc

5
推荐指数
1
解决办法
2844
查看次数

VS Code pylint(导入错误)“无法从自定义目录导入”子模块

我已经将我自己编写的 Python 脚本组织在一个由多个子目录组成的树中,从已经包含在"python.autoComplete.extraPaths"settings-json 中的父目录“Scripts”开始:

"python.autoComplete.extraPaths": ["/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts",
                                       "/home/andylu/anaconda3/lib/python3.7/site-packages"]
Run Code Online (Sandbox Code Playgroud)

除此之外,我还包含了一个 Python 环境文件:

"python.envFile": "/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Visual_studio_code/vscode_own_scripts.env"
Run Code Online (Sandbox Code Playgroud)

其中包含该行

export PYTHONPATH=/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts:/home/andylu/anaconda3/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)

所有这些以前都很好,我所有的脚本都分布在 1 个以上的单个目录级别,如下所示:

+---Scripts
|   +---General
|   |   +---script_one.py
|   |   +---script_two.py
Run Code Online (Sandbox Code Playgroud)

当我在任何 python 脚本中导入时,例如script_one.py,我用

import sys
sys.path.append(
    "/home/andylu/Dokumente/Allgemeines_material/Sonstiges/Programming/Python/Scripts/"
)

import General.script_one as one
Run Code Online (Sandbox Code Playgroud)

并且 pylint 正确识别了这个导入的脚本,而不会抛出上述VS Code pylint(import-error).


现在,情况不同了。脚本变得如此之多,我将子文件夹拆分General包含一个额外的子目录级别,以便更清晰地组织脚本:

+---Scripts
|   +---General
|   |   +---Plotting
|   |   |   +---script_one.py
|   |   |   +---script_two.py
|   |   +---Misc
| …
Run Code Online (Sandbox Code Playgroud)

python pylint importerror visual-studio-code pylintrc

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

如何将 pylint 中的错误消息更改为警告消息?

有没有办法更改/指定 pylintrc 文件中规则的严重性级别(错误、警告)?

pylint pylintrc

5
推荐指数
1
解决办法
625
查看次数

Pylint变量名不符合snake_case命名风格

我收到来自 pylint 的多个警告,例如:'''变量名“df”不符合蛇形命名风格''' 据我所知,这是因为变量名长度小于 3 个符号。但是我想使用 df、i、x 等变量。

因此,我需要为 linting 异常添加几个变量名。我尝试将该名称添加到我的项目目录中的 pylintrc 文件的 good-names 部分,其中 manage.py 位于: pylintrc: '''# 应始终接受的良好变量名称,以逗号分隔。good-names=i, j, k, ex, Run, df, l, l1, l2, l3''' 它没有帮助,我仍然收到有关变量名称样式的警告。如果有人可以帮助提出想法,我将不胜感激。

python pylint flask pylintrc

5
推荐指数
1
解决办法
2579
查看次数

如何将 pylintrc 文件中“too-many-statements”的值从 50 修改为 100?

在我的文件上运行 Pylint 时,我收到以下消息。

重构(R0915、太多语句、函数)太多语句 (95/50)

我想将函数可以拥有的语句数设置为 100 而不是 50,以避免来自 Pylint 的上述消息。

python pep8 pylint pep8-checker pylintrc

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

如何在Visual Studio Code中修改Pylint的变量命名约定

我一直C0103在Visual Studio中从pylint 收到警告,因为我试图使用2个字符的变量名称,例如hpgp。该警告在此处描述:link

约定描述[a-z_][a-z0-9_]{2,30}$variable-rgx。我实际上不知道如何阅读此正则表达式或它的含义,但看起来该{2,30}部分描述了可能的长度范围,所以(如果我错了,请纠正我)为什么不允许字符长度为2?还是会有其他原因导致诸如这样的变量名gp出错?

当问到这个问题时,人们经常链接到PEP-8,但我不记得阅读过,变量名必须至少具有3个字符的长度。无论如何,我认为这可能是错误的形式,但我不想遵循此约定。在我的程序上下文中,非常清楚地知道2个字符的变量名称,例如gphp意味着什么,这似乎对编码样式有很大的限制。

因此,无论如何,我想做的就是专门覆盖此警告。我不想只是禁用C0103。相反,我宁愿在文本编辑器(Visual Studio Code)中更改此设置,例如在可以使用更改pylintargs 的设置中"python.linting.pylintArgs": [...]。那么,如果我想重写约定以允许使用2个字符的变量名,那么正确的更改是什么?还是我必须编写一个新的lintrc文件(不知道该怎么做,我更喜欢一个更简单的解决方案,仅在VSCode中进行更改)。

python pylint visual-studio-code pylintrc

2
推荐指数
1
解决办法
1547
查看次数

如何使 pylint 为存储库中的所有函数和方法强制执行文档字符串

Pylint missing-docstring 似乎忽略了类中的一些函数和私有方法。

如何让 pylint 强制所有函数和方法都必须在某个存储库中具有文档字符串?

我发现的一种选择是禁用忽略私有函数: no-docstring-rgx='a^'

pylint python-3.x pylintrc

2
推荐指数
1
解决办法
289
查看次数

如何在.pylintrc文件中打破长行?

我有一个PyLint配置文件.pylintrc,并定义了一些规则.

但是,对于一条规则,我有很多项目会产生很长的路线.

[TYPECHECK]
generated-members = XXX, YYY, ZZZ......
Run Code Online (Sandbox Code Playgroud)

在github上可以看到一条长行的例子:https: //github.com/behave/behave.example/blob/master/pylintrc#L263

是否有可能打破这一行以保持列表项在下一行?我试图将项目移动到下一行,但是,这似乎使文件无效.

python pylint pylintrc

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