首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用.pylintrc中的错误在VS代码中不起作用

禁用.pylintrc中的错误在VS代码中不起作用
EN

Stack Overflow用户
提问于 2022-09-01 20:59:07
回答 1查看 88关注 0票数 1

我在VS代码中遇到了pylint的奇怪行为。“.pylintrc”在重新创建后无法识别。我的脚步:

  1. 在VS代码中安装pylint
  2. 使用'Python: Select linter‘命令将pylint设置为linter
  3. 添加“.pylint”并禁用以下警告: 消息控制禁用=缺失-函数-docstring,缺失-最终-换行符,缺失类-docstring,缺失-模块-docstring,无效-名称,太少-公共-方法。

而且效果很好!但随后我尝试在‘pyproject.toml’中设置pylint配置:

代码语言:javascript
复制
[tool.pylint.messages_control]

disable = ["missing-function-docstring",
        "missing-final-newline",
        "missing-class-docstring",
        "missing-module-docstring",
        "invalid-name",
        "too-few-public-methods"
]

在那之后,令人惊叹的警告再次显现。

好的,我删除了'pyproject.toml‘并返回'.pylintrc’-没有效果。我试图再次选择linter,重新打开VS代码,重新安装pylint,但是没有任何帮助。

代码语言:javascript
复制
Version: 1.70.0 (user setup)
Commit: da76f93349a72022ca4670c1b84860304616aaa2
Date: 2022-08-04T04:38:16.462Z
Electron: 18.3.5
Chromium: 100.0.4896.160
Node.js: 16.13.2
V8: 10.0.139.17-electron.0
OS: Windows_NT x64 10.0.19044

pylint版本2.15.0

EN

回答 1

Stack Overflow用户

发布于 2022-10-01 22:05:38

有两件事:

  1. 通过pyproject.toml配置pylint确实很麻烦,因为只有当pylint正是从该目录运行时,这个特定的文件才会受到尊重。但是,许多IDE(至少是Spyder,但它似乎与PyCharm相似)显然总是从相应的子目录运行pylint,即从直接包含正在运行的文件的文件夹中运行pylint。因此,在这些情况下,您的pyproject.toml不受尊重。(如果你觉得这种行为很奇怪,你并不是唯一的一个,但这就是pylint 现在做了吗。)这就是导致截图错误的根本原因。另一方面,即使从子目录中运行pylint,项目中的任何.pylintrc也确实会受到尊重。因此,就目前而言,我确实建议使用项目中的.pylintrc而不是pyproject.toml来配置pylint。(我认为有一些选项可以使.pylintrc只指向pyproject.toml,它将保存所有的具体配置,即使是从子目录中也会得到尊重--这将是目前最好的解决方案。)
  2. 要解决仍然存在于.pylintrc的问题:告诉pylint向您显示它在调用配置文件时使用的路径。为此,请使用命令行:cd进入该目录,并在详细模式下运行pylint:pylint --verbose。这显示了所使用的配置文件。(例如,您可能会有一个久已被遗忘的pylintrc.pylintrc在您的主目录中的某个位置被加载。)

顺便说一句,这个技巧--使用详细的模式来查看实际使用的配置文件--对于许多工具都很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73575345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档