私はSublimeText 3 With Pylinter を使用して、ファイルに対してpylint
を実行しています。
ただし、同じマシンで、python 2、およびpython 3プロジェクトの両方のファイルで作業します(コードはいくつかのリモートテストの1つで実行されます- VM、SSH経由。SMB経由でファイルを開いてファイルを変更しています。これは私のホームテストラボであり、ついにpy3kを学ぶために座っています。
Pylintが使用するメカニズムを簡単にオーバーライドして、リントする必要のあるpythonバージョンを決定できますか?理想的には、インラインディレクティブがありますが、何も見つけることができませんでした。
私はWindows上で(編集中)(リモートVMはLinuxですが、ここでは関係ありません)、その価値があります。
AFAIK Pylintは、実行中のバージョンのPythonであり、オーバーライドすることはできません。
あなたが試すことができます python2 -m pylint ...
およびpython3 -m pylint ...
。これにより、正しいバージョンを使用できます。
@sthenaultの答えを拡張し、@ simonから 非常によく似た質問 onaskubuntuに大きく借用すると、解決策はpylint
のラッパースクリプトは、適切なバージョンのPythonインタープリターで実行します。以下をmypylint
(またはその他)というスクリプトにドロップします。 $PATH
:
#! /usr/bin/env bash
python_interpreter="python${1}"
pylint_args="-f colorized ${@:2}"
pylint_import=$(cat << PYTHON
import sys
import pkg_resources
__requires__ = "pylint"
sys.exit(
pkg_resources.load_entry_point("pylint", "console_scripts", "pylint")()
)
PYTHON
)
$python_interpreter -c "$pylint_import" $pylint_args
次に、次のように実行します。mypylint 2|3 PYLINT_ARGS
。例えば:
mypylint 2 -f colorized module.py
それを崇高なテキストにどのように結び付けることができるかはわかりませんが、より一般的にはpylint
の並列バージョンの質問に答えます。また、上記のソリューションを Gist にバンドルしました。
これは良いことですが、最も簡単なのは、virtualenvを使用し、各virtualenvにpylintをインストールすることだと思います。正しいpylintとpythonインタープリターが使用されます。
python 3.0を評価するpylint3と、デフォルトでコードをpython 2.7として評価するpylintをインストールできます。
Pylint2とpylint3のように2つのpylintをインストールしてから、目的のスクリプトをサブプロセスするラッパースクリプトを記述します。
[プロジェクト]-> [プロジェクトの編集]でpylint実行可能ファイルの設定を変更して、Sublime Textのプロジェクトごとのレベルでオーバーライドできます。
"settings":
{
"SublimeLinter.linters.pylint.executable": ["py", "-3.4", "-m", "pylint"],
}
お好みのフレーバーを3.4に置き換えます