web-dev-qa-db-ja.com

PyCharmでPylintを実行する方法

私が取り組んでいるpythonプロジェクトのプロジェクトディレクトリ全体で、pylintを外部ツールとして設定したい。リポジトリを__init__.pyありとなしのモジュールとして使用しようとしましたが、どちらの方法でも機能しません。

PyCharmで実行するためにpylintを設定するのが困難です。外部ツールとして実行する必要があることはわかっていますが、設定が混乱します。

ドキュメントの信頼できるソースが壊れているので、私もそれを確認することはできません。

48
Wasif Hyder

次の手順に従って、PyCharmで動作するようにpylintを設定できます。

  1. インストールpylint

    $ pip install pylint
    
  2. pylintインストールフォルダーを見つけます。

    $ which pylint         # MacOS/Linux
    /usr/local/bin/pylint  # this is just a possible output check yours
    
    $ where pylint         # Windows
    %LocalAppData%\Programs\Python\Python36-32\Scripts\pylint.exe  # possible location
    
  3. File -> SettingsでPyCharm設定ウィンドウを開き、サイドバーのTools -> External Toolsに移動します。 (または「external tools」を検索)

    PyCharm External tools

  4. +記号をクリックし、それに応じてフィールドに入力することにより、外部ツールをセットアップします。 Programでは、which pylintの実行時に取得したパスを使用します。他の値には、同じ画像を使用できます。

    PyCharm Edit Tool

  5. Tools -> External Tools -> pylintからpylintを実行します。

    PyCharm External Tools

  6. PyCharmターミナルで出力を確認します

    PyCharm terminal

詳細については、 PyClint with PyCharm を参照してください。

更新:

pylintを使用してプロジェクト全体または特定のファイルまたはディレクトリを確認する場合は、プロジェクトのルート、ファイルまたはディレクトリを右クリックし、次に示すようにExternal Tools -> pylintを右クリックします。

PyCharm check entire project

95
lmiguelvargasf

動作する既製のセットアップが見つからなかったため、macOSのPyCharm CE 2018.1で使用する設定は次のとおりです。

1-pip install pylintプロジェクトのvirtualenvまたはグローバル

2-新しい外部ツールを追加して構成します。

Program: pylint
Arguments: "--msg-template='{abspath}:{line:5d},{column:2d}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\,\s*$COLUMN$:

Msg-templateに必要な二重引用符と、出力フィルターのエスケープ文字に注意してください。出力フィルターを使用すると、ファイルパスをクリックしてIDEソースエディターで場所を開くことができます。

組み込みのリンターで行われているように、欠落している機能のみが、出力フィルターになり、リントの説明をソースビューに直接プロットします。現時点ではそのような機能はありません。

pylint arguments

23
lkraider

編集:現在、この回答を書いたときに存在していなかった Pycharmプラグイン を使用および推奨します。


同僚は、GitHubで pylint-pycharm を指摘してくれました。これは、PyCharm用にフォーマットされた出力を持つpylintのラッパーです。設定方法は次のとおりです。

git clone https://github.com/perses76/pylint-pycharm.git
cd pylint-pycharm
python setup.py build

これにより、build/scripts-2.7/pylint-pycharmが作成されます

次に、PyCharmで、次の設定で新しい外部ツールを作成します。

Program: path to your installation of pylint-pycharm  
Arguments: --virtualenv=$PyInterpreterDirectory$/.. $FileName$
Working directory: $FileDir$ 
Output filters: $FILE_PATH$\:$LINE$\:$COLUMN$\:.*

PyLint for PyCharm External Tool settings screenshot

次に、ツール->外部ツール-> PyLintPyCharmから実行します。出力の各行は、ソースコード内の関連する位置にハイパーリンクされます。

8
Aaron F

これを試すことができます Pylint PyCharm plugin

Pylint PyCharm screenshot

pyCharm/IDEA内からPylintを使用してPythonファイルのリアルタイムスキャンとオンデマンドスキャンの両方を提供します。

インストールすると、リアルタイム検査が自動的に機能します。オンデマンドでは、現在開いているファイルをチェックするだけでなく、プロジェクト全体をスキャンするいくつかのオプションがあります。 enter image description here

(透明性のために、私は開発者です)

6

以前の回答に関するメモ。ファイルの場所に直接ジャンプできるように、出力構文をPyCharmに認識させる方法を探していました。追加のツールを使用せずに機能します。

Pylintrcファイルのmsg-templateオプションまたはCLIオプション--msg-templateを使用して、特定の形式でメッセージを出力するようにPylintを構成できます。

次のように設定しました:msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'

外部ツールの設定では、Output filters:$FILE_PATH$:$LINE$:$COLUMN$: .*に設定できるため、PyCharmは報告された場所に直接ジャンプするためのリンクを表示します。これはoutput-format=colorizedと組み合わせることができるため、次のようになります。 enter image description here PyCharmは、設定されているにもかかわらず列を認識しません。しかし、ファイルと行があれば十分です。

5
ub_marco

最初にpipでpylintをインストールします:

pip install pylint

「設定>ツール>外部ツール」を開き、PyCharmで「+」ボタンを押す必要があります。

が適切な設定です。

3
ikreb

Roberto Leinardiは、pycharm用のpylintプラグインを作成しました。これは実際に機能し、IDEにうまく統合されます。

リポジトリから簡単にインストールでき、完全な手順は次のとおりです。 https://github.com/leinardi/pylint-pycharm

私はこれまでに短いながらも幸せな経験をしています。ロベルトに称賛。

1
architectonic

ここの情報とPyCharmの更新されたドキュメントのおかげで、プロジェクトで仮想環境を使用するためにこれをうまく機能させることができました(すべてのパッケージを仮想環境内にデプロイでき、グローバルにデプロイする必要はありません) )。

Lkraiderが以前に提供したものを使用しますが、わずかに変更します。

  1. 仮想環境内にpylintをインストールしてください。仮想環境を作成したときに、「グローバルサイトパッケージの継承」を選択していないことに注意してください。そうすると、pylintはグローバルになり、機能しなくなります。

  2. 新しい外部ツールを追加して構成します。これは、lkraiderが提供したものとわずかに異なります。ある人にとっては、通常のパイリント出力のように見せたかったので、私のmsg-template(および出力フィルター)は少し異なります。それぞれ独自の。 2番目の変更は、仮想環境に基づいてpylintを実行するためにより重要な変更です。これは、$ PyInterpreterDirectory $を使用するプログラムパラメーターです。

Program: $PyInterpreterDirectory$/pylint
Arguments: "--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'" --output-format=colorized "$FilePath$"
Working directory: $ProjectFileDir$
Output filters: $FILE_PATH$:\s*$LINE$\:\s*$COLUMN$:

pylintの外部ツール

0
Erik