web-dev-qa-db-ja.com

VS Codeは、python 2.7のprintステートメントでエラーメッセージを表示します

Windowsでは、Python 2.7でVS Codeバージョン1.19.3を使用します。

最近、pylint(コードアナライザー)はエラーメッセージを表示しました"E1601:print statement used"

しかし、なぜだかわかりません!誰か助けてくれますか?

印刷文は私の知る限り正しいです!

バグですか、それとも機能がありませんか?

ごあいさつ

enter image description here

13
Georg Gutsche

警告は、Pythonのような緩やかな構文を持つ型指定されていない言語に非常に役立つツールであるpylintから発生します。 python 2.xがprintが完全に有効である場合、プログラミングしているので、.pylintrcという名前のリポジトリのルートにファイルを置き、それを使用してpylintを構成することをお勧めします。

印刷警告を無効にし、他のすべてをデフォルトのままにするには、.pylintrcファイルに次の2行を入力します。

[MESSAGES CONTROL]
disable=print-statement

ワークスペースを開くことで構成ファイルを使用するようにVisual Studio Codeに指示する必要もありますまたはユーザー設定を追加し、これを追加します。

{
     "python.linting.enabled": true,
     "python.linting.pylintEnabled": true,
     "python.linting.pylintArgs": [
          "--rcfile=/path/to/.pylintrc"
     ]
}

その他のオプション

利用可能な設定オプションの良いアイデアを得るには、ターミナル/プロンプトを開き、このコマンドを実行してサンプルの設定ファイルを生成します:

pylint --generate-rcfile > sample_pylintrc
14
jjabba

問題は、printステートメントからprint関数に変更してもあまり役に立たないことです。 VS Code Python module(2018.1(2018 Feb 01)))のバグのようです。この更新の後、古いコード内のVS Codeで同じ問題が見つかりました。プロジェクト

bug screenshot

私は github でバグを発見しました

PS:vscode-pythonは2018.1からpylintオプションを変更しました。古い動作を返すために、ワークスペースまたはユーザースペースのpython.linting.pylintUseMinimalCheckersオプションを無効にすることができます。

それ自体はエラーではなく、PyLintがこれらのレガシーステートメントについて文句を言っているだけです。 PyLintはまた、コンマの前のスペースの欠落、この種のスタイルエラーについて文句を言います。

PyLintは、起こりうる問題について警告するためにあります。 python 3を実行するとコードが破損するため、発生する前に警告が表示されます。

printはpython 2.x(メッセージを説明する)のステートメントであり、functionin python 3.x.

次のように変更して修正します。

print("test")

これはTupleではないため、正常に動作し、Pythonのすべてのバージョンでまったく同じように動作し、PyLintは文句を言わなくなります。

pyLintを完全に削除することもできます: Windows 10-Visual Studio Code-pylintの削除 (良いアイデアかどうかはわかりません)