web-dev-qa-db-ja.com

vscodeでpylint_Djangoプラグインを有効にすると、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"
  ],
}

私は、pylintと同じようにconda経由でプラグインをインストールしました

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は問題なく動作します。 「Entity.objects.all()」などのDjango固有のエラーを回避するためにプラグインを有効にする必要がありましたが、有効にすると、lintが機能しなくなります。これは、以前に実行していた警告である標準エラーを強調表示しません。

Vscode for winとmacを使用して、まったく同じ動作をします。 here の説明に従って.pylintrcファイルも使用しようとしましたが、同じ結果が得られました:lintが機能しなくなりました。基本conda envまたはカスタムのものを使用した場合と同じ動作。

13
Crixo

このpylintの設定は私にとってはうまくいきます:

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

同じ問題が発生しました。 @ J0hnG4ltが言ったように、pythonパスに問題がありました。pylint_Djangoをインストールした環境のパスをポイントしませんでした。この設定は私にとってはうまくいきます。ありがとう@マヌ。

"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

1
Thuc Pham

私の問題はもっと平凡でした(しかし、おそらくそれは私のような他の額のスラッパーを助けるでしょう)。 正しいvirtualenvディレクトリでPIPインストールを実行します!

pip install pylint-Django --upgrade

また、プラグインのエラーにより、Pylintは完全にsilentlyの読み込みに失敗することにも注意してください。空白のpylintArgsから始め、ゆっくりと1つずつ追加していき、問題が発生する場所を確認します。

1

私自身のための有効な答えがここに見つかりました: 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()の1つなど)にはエラーがスローされませんが、実際にはそうでないものを参照しようとすると、欠点があります。エラーは発生しません。

0
KaiuTetsuo

私の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

0
tyrex