【问题标题】:enabling pylint_django plugin in vscode, pylint stop working在 vscode 中启用 pylint_django 插件,pylint 停止工作
【发布时间】:2019-04-17 15:36:39
【问题描述】:

这是我在 vscode 中的用户设置

{
  "python.pythonPath": "/Users/cristiano/miniconda3/envs/django-rest-2/bin/python",
  "python.linting.pylintEnabled": true,
  "python.linting.enabled": true,
  "python.linting.pylintArgs": [
    "--load-plugins",
    "pylint_django"
  ],
}

我通过 conda 安装了插件,和 pylint 一样

pylint                    2.1.1                    py36_0
pylint-django             0.11.1                     py_1    conda-forge
pylint-plugin-utils       0.4                        py_0    conda-forge

如果我注释掉“python.linting.pylintArgs”部分,pylint 可以正常工作。我需要启用插件以避免特定于 django 的错误,例如“Entity.objects.all()”,但如果我启用它,lint 将停止工作:它不会突出显示标准错误或警告之前正在执行此操作。

我在 win 和 mac 上使用 vscode 的行为完全相同。我也尝试使用 .pylintrc 文件,如here 所述,但结果相同:lint 停止工作。 使用基本 conda env 或自定义的相同行为。

【问题讨论】:

  • 看起来不错,wfm,所以我想说你的问题出在你的 pythonPath 和环境上。
  • @Crixo - 你有没有设法解决这个问题?无论我尝试哪种配置,我都会遇到同样的问题。
  • 对我来说,通过 pip 而不是 conda 安装插件 (pylint-django) 解决了这个问题。
  • 通过直接在终端中运行 VSCode 输出 python 中显示的 pylint 命令,我设法获得了为我解决此问题的错误消息。那时我遇到了一个异常并且能够解决问题。

标签: django python-3.x visual-studio-code vscode-settings pylint


【解决方案1】:

pylint 的这个配置对我有用:

"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": [
    "--disable=C0111", // missing docstring
    "--load-plugins=pylint_django,pylint_celery",
 ],

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题。就像@J0hnG4lt 说的那样,我的 python 路径有问题。我没有指向环境的路径,我已经安装了pylint_django。这个配置对我有用。谢谢@Manu。

    "python.pythonPath": "/Users/mc976/Documents/Programming/Python/Practice/music_service/venv/bin/python3",
    "python.linting.pylintEnabled": true,
    "python.linting.pylintArgs": [
        "--disable=C0111",
        "--load-plugins",
        "pylint_django"
    ]
    

    此外,我认为您应该检查您的环境,以确保您使用pip list 正确安装了pylint_django。

    【讨论】:

      【解决方案3】:

      我的问题比较平淡(但也许它会帮助像我这样的其他额头拍打者)。在正确的 virtualenv 目录中运行 PIP 安装!

      pip install pylint-django --upgrade

      另请注意,插件错误会导致 Pylint 完全无法加载静默。从空白pylintArgs 开始,然后慢慢地一次添加一个,看看哪里出了问题。

      【讨论】:

      • 这也是我的正确答案。我已经在全球范围内安装了它,但并没有真正认为是我的本地 env 解释器在做 linting。
      【解决方案4】:

      在这里为自己找到了一个可行的答案:https://donjayamanne.github.io/pythonVSCodeDocs/docs/linting/

      我的 settings.json 文件现在显示为:

      {
          "python.pythonPath": "C:\\ProgramData\\Anaconda3\\envs\\djangoSite2\\python.exe",
          "python.linting.pylintEnabled": true,
          "python.linting.pylintArgs": ["--disable=C0111","--load-plugins", "pylint_django"],
      }
      

      然后添加 linting,但不会在它找不到的字段上抛出错误(如 Entity.objects.all() 之一),但缺点是如果您尝试引用真正不存在它不会引发错误。

      【讨论】:

        【解决方案5】:

        它现在可以在我的 Mac 上运行。这是我工作区的settings.json:

        {
        "python.linting.pylintEnabled": true,
        "python.linting.pycodestyleEnabled": false,
        "files.autoSave": "afterDelay",
        "editor.fontSize": 14,
        "editor.wordWrapColumn": 90,
        "editor.autoClosingQuotes": "beforeWhitespace",
        "python.pythonPath": "/Users/myname/anaconda3/envs/myproject/bin/python",
        "python.linting.pylintArgs": [
            "--disable=C0111", // missing docstring
            "--load-plugins=pylint_django",
         ],
        

        }

        我必须小心将 pylint-django 安装到正确的 python 环境中。对我来说,这意味着在终端中运行这个命令:

        $ /Users/myname/anaconda3/envs/myproject/bin/python -m install pip pylint pylint-django

        【讨论】:

          猜你喜欢
          • 2020-10-09
          • 1970-01-01
          • 2013-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-22
          • 2021-12-24
          相关资源
          最近更新 更多