在vscode中启用pylint_django插件,pylint停止工作

时间:2018-11-14 15:54:25

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

这是我在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()”,但如果启用它,则棉绒将停止工作:它不会突出显示标准错误,也不会警告以前的操作。< / p>

在Win和Mac上使用vscode时,我的行为完全相同。我也尝试使用here中所述的.pylintrc文件,但结果却是一样的:棉绒停止工作。 使用基本conda env或自定义环境的行为相同。

5 个答案:

答案 0 :(得分:2)

pylint的配置对我有用:

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

答案 1 :(得分:1)

我刚遇到同样的问题。就像@ 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"
]

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

答案 2 :(得分:1)

它现在可以在我的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

答案 3 :(得分:0)

在这里为自己找到了一个有效的答案: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"],
}

这会增加棉绒,但不会在无法找到的字段上引发错误(例如Entity.objects.all()一个),但缺点是如果您随后尝试引用确实存在的内容不存在,不会引发错误。

答案 4 :(得分:0)

我的问题比较平淡(但可能会帮助像我这样的其他前额拍手)。在正确的virtualenv 目录中运行PIP安装!

pip install pylint-django --upgrade

还请注意,插件错误会导致Pylint无法完全静默地加载 。从空白的pylintArgs开始,然后慢慢地将它们一次又添加回去,以查看出现问题的地方。