我使用 Mac 并在 VS Code 上使用 Python 进行编程。安装 pylint 后,我收到了一堆警告和消息。我如何禁用这些?我知道如何向 pylintrc 文件中添加一些行,但我不知道在哪里可以找到它或如何在 Mac 上创建它。
我看到我可以使用此解决方案为每个Eclipse实例更改它.我想按项目设置它.可能吗?
当使用多个检查或格式化 python 文件的工具时,有没有办法一次性设置行长度?
目前我有:
.flake8文件:
max-line-length = 120
Run Code Online (Sandbox Code Playgroud)
.isort.cfg文件:
line-length = 120
Run Code Online (Sandbox Code Playgroud)
.black文件:
line-length = 120
Run Code Online (Sandbox Code Playgroud)
.pylintrc文件:
max-line-length = 120
Run Code Online (Sandbox Code Playgroud) 我对pep-8的大多数事情都不熟悉,但在编写代码时我个人更喜欢某些事情(而不是工作,我会坚持现有代码库的风格或缺乏它).
我个人倾向于遵循的一件事是pep-8关于空白行的建议:
使用两个空行环绕顶级函数和类定义.
类中的方法定义由单个空行包围.
但是,当我违反此规定时,我无法让Pylint警告我.我没有看到任何似乎与我相关的禁用相关内容.pylintrc,而且我无法弄清楚Pylint中是否可以实现这一点,如果可以的话,如何启用它.
基于这个答案,看起来pep-8的某些方面Pylint没有(或当时没有)覆盖,但我无法确定空白行是否属于这种情况.
是否有可能让Pylint警告空行(太多/不够)而不编写自定义扩展?
我们的项目根目录中有一个 .pylintrc 文件提交给 git,我们的团队使用了该文件,该文件禁用了许多有用的错误。所以 VS Code 没有显示这些。我想知道我是否可以只在我的本地机器上使用我自己的 pylint 规则,而不必在 git 中修改团队的 .pylintrc 文件。
我知道 pylint 有一个名为 --rcfile 的选项,可用于指定自定义 .pylintrc 文件。我想如果我可以在 VS Code 设置中指定这个选项,我可以让它向我显示更多错误。你知道怎么做吗?
我正在查看我的RC文件,我不能为我的生活,找到这些变量中的哪一个禁用该功能.
我搜索了"if","else"和"return",我什么也没看到.除非我错过了.
谢谢.
更多信息
pylint 1.7.2,
astroid 1.5.3
Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
Run Code Online (Sandbox Code Playgroud)
我把什么放进了终端
pylint --rcfile=.pylintrc Test.py
Run Code Online (Sandbox Code Playgroud)
测试代码
""" Module Docstring """
def IS_POSITIVE(number):
""" detects positive """
if number > 0:
return "+++"
else:
return "---"
print IS_POSITIVE(3)
Run Code Online (Sandbox Code Playgroud)
打印出来
************* Module Test
R: 27, 4: Unnecessary "else" after "return" (no-else-return)
------------------------------------------------------------------
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00)
Run Code Online (Sandbox Code Playgroud) 我已经更新了 pylint 版本 现在它抱怨 .pylintrc 文件上没有自用检查器。
************* Module ../../.pylintrc
.pylintrc:1:0: E0015: Unrecognized option found: no-space-check (unrecognized-option)
.pylintrc:1:0: E0012: Bad option value for --disable. Don't recognize message no-self-use. (bad-option-value)
Run Code Online (Sandbox Code Playgroud)
我该如何修复它?禁用评论不起作用。我应该改变它做什么?
我正在使用我的pylintrc文件创建一个简单项目,并为测试方法获取此错误:
method name - test_calculator_add_method_returns_correct_result - doesn't conform to snake_case naming style
Run Code Online (Sandbox Code Playgroud)
class TddInPythonExample(unittest.TestCase):
""" This is a basic test class"""
def test_calculator_add_method_returns_correct_result(self):
""" This test the calculator add method """
calc = Calculator()
result = calc.add(2,2)
self.assertEqual(4, result)
Run Code Online (Sandbox Code Playgroud) 我使用打字模块。我想始终使用代码from typing import List, Set, Dict, Tuple, Optional而不停止编辑该行以仅引用当前模块中使用的类型。
但是 pylint 抱怨“使用从打字导入的 foo”对于此模块中未使用的任何类型。我通过使用来解决这个问题from typing import List, Set, Dict, Tuple, Optional # pylint: disable=unused-import。
我可以在 .pylintrc 中放入# pylint: disable=unused-import一条规则,这意味着“仅当我导入打字时禁用未使用的导入”,而不是每次导入打字时都附加?
我不想完全禁用未使用的导入。我只是想在从打字导入时禁用它。
我非常喜欢 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