【问题标题】:VSCode can't find (some) pylint modulesVSCode 找不到(某些)pylint 模块
【发布时间】:2020-08-27 07:10:05
【问题描述】:

这是一个非常简单的用户错误,与导入 pylint 模块无关。

但是,因为在我看来,其他人可能会犯这个错误,所以我将这个问题留在网上。也许它会帮助别人。

我正在使用带有 pylint 的 Visual Studio Code,它似乎主要工作,向我显示像 Variable name "Lat" doesn't conform to snake_case naming styleTrailing whitespace 和更多其他类别的消息,所以它似乎工作。大多数情况下,就是这样。

一开始它还告诉我No module named pylintCategorySeverity.conventionNo module named pylintCategorySeverity.refactor,这两个我都非常想拥有。

如何启用它们?根据documentation,似乎我只需在设置中将它们添加到Python › Linting: Pylint Args,或者直接在settings.json 中进行。我已经得到了

    "python.linting.pylintArgs": [
        "pylintCategorySeverity.convention",
        "pylintCategorySeverity.refactor"
    ]

我觉得还可以。

那么我的问题是什么?我假设它们根本没有安装,但是 pip 和 conda 都找不到似乎适合的包。还是它们被重命名了,而我正在运行旧版本或文档太旧?

【问题讨论】:

    标签: python visual-studio-code vscode-settings pylint


    【解决方案1】:

    约定和重构不是 PyLint 的模块,而是 PyLint 将报告的问题的类别。您收到的蛇案例命名样式消息是约定类别的一部分。因此,如果您收到此消息,那么您已经有 PyLint 检查此类问题。

    PyLint 报告的每个问题类别都映射到 VSCode 中的不同错误级别。配置选项指定每个类别将在 VSCode 中报告的级别。所以例如这一行:

    def someFuntion():
    

    通常会报告为信息级问题。但是,如果我包含在设置中:

    "python.linting.pylintCategorySeverity.convention": "Error"
    

    然后这现在将报告为错误。 documentation 的表格描述了每个问题报告的默认级别。要增加运行检查的数量,请确保您的设置文件中有以下内容:

    "python.linting.pylintUseMinimalCheckers": false,
    

    【讨论】:

    • 我不想更改严重性级别,我首先尝试运行该模块。 "python.linting.pylintArgs": [..."python.linting.pylintCategorySeverity.convention": "Error"。设置...MinimalCheckers": false 也不能解决这个问题。
    • 如果您收到有关 snake_case 的警告,则 PyLint 已经在检查约定问题。对不起,我没有在答案中说清楚,我已经更新了它,希望能更清楚。
    • 哦,该死的。好像我完全误解了文档。听起来像是默认禁用的那些部分,我必须启用它们,由此我产生了一条错误消息。这可能需要一个 PEBKAC 标签
    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2022-11-02
    • 2018-08-29
    • 2018-03-10
    • 1970-01-01
    相关资源
    最近更新 更多