私が取り組んでいるpythonプロジェクトのプロジェクトディレクトリ全体で、pylintを外部ツールとして設定したい。リポジトリを__init__.py
ありとなしのモジュールとして使用しようとしましたが、どちらの方法でも機能しません。
PyCharmで実行するためにpylintを設定するのが困難です。外部ツールとして実行する必要があることはわかっていますが、設定が混乱します。
ドキュメントの信頼できるソースが壊れているので、私もそれを確認することはできません。
次の手順に従って、PyCharmで動作するようにpylint
を設定できます。
インストールpylint
:
$ pip install pylint
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
File -> Settings
でPyCharm設定ウィンドウを開き、サイドバーのTools -> External Tools
に移動します。 (または「external tools」を検索)
+記号をクリックし、それに応じてフィールドに入力することにより、外部ツールをセットアップします。 Program
では、which pylint
の実行時に取得したパスを使用します。他の値には、同じ画像を使用できます。
Tools -> External Tools -> pylint
からpylint
を実行します。
PyCharmターミナルで出力を確認します
詳細については、 PyClint with PyCharm を参照してください。
更新:
pylint
を使用してプロジェクト全体または特定のファイルまたはディレクトリを確認する場合は、プロジェクトのルート、ファイルまたはディレクトリを右クリックし、次に示すようにExternal Tools -> pylint
を右クリックします。
動作する既製のセットアップが見つからなかったため、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ソースエディターで場所を開くことができます。
組み込みのリンターで行われているように、欠落している機能のみが、出力フィルターになり、リントの説明をソースビューに直接プロットします。現時点ではそのような機能はありません。
編集:現在、この回答を書いたときに存在していなかった 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$\:.*
次に、ツール->外部ツール-> PyLintPyCharmから実行します。出力の各行は、ソースコード内の関連する位置にハイパーリンクされます。
これを試すことができます Pylint PyCharm plugin :
pyCharm/IDEA内からPylintを使用してPythonファイルのリアルタイムスキャンとオンデマンドスキャンの両方を提供します。
インストールすると、リアルタイム検査が自動的に機能します。オンデマンドでは、現在開いているファイルをチェックするだけでなく、プロジェクト全体をスキャンするいくつかのオプションがあります。
(透明性のために、私は開発者です)
以前の回答に関するメモ。ファイルの場所に直接ジャンプできるように、出力構文を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
と組み合わせることができるため、次のようになります。 PyCharmは、設定されているにもかかわらず列を認識しません。しかし、ファイルと行があれば十分です。
Roberto Leinardiは、pycharm用のpylintプラグインを作成しました。これは実際に機能し、IDEにうまく統合されます。
リポジトリから簡単にインストールでき、完全な手順は次のとおりです。 https://github.com/leinardi/pylint-pycharm
私はこれまでに短いながらも幸せな経験をしています。ロベルトに称賛。
ここの情報とPyCharmの更新されたドキュメントのおかげで、プロジェクトで仮想環境を使用するためにこれをうまく機能させることができました(すべてのパッケージを仮想環境内にデプロイでき、グローバルにデプロイする必要はありません) )。
Lkraiderが以前に提供したものを使用しますが、わずかに変更します。
仮想環境内にpylintをインストールしてください。仮想環境を作成したときに、「グローバルサイトパッケージの継承」を選択していないことに注意してください。そうすると、pylintはグローバルになり、機能しなくなります。
新しい外部ツールを追加して構成します。これは、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$: