web-dev-qa-db-ja.com

どのpythonバージョンpylintが評価する必要があるかを指定します

私はSublimeText 3 With Pylinter を使用して、ファイルに対してpylintを実行しています。

ただし、同じマシンで、python 2、およびpython 3プロジェクトの両方のファイルで作業します(コードはいくつかのリモートテストの1つで実行されます- VM、SSH経由。SMB経由でファイルを開いてファイルを変更しています。これは私のホームテストラボであり、ついにpy3kを学ぶために座っています。

Pylintが使用するメカニズムを簡単にオーバーライドして、リントする必要のあるpythonバージョンを決定できますか?理想的には、インラインディレクティブがありますが、何も見つけることができませんでした。

私はWindows上で(編集中)(リモートVMはLinuxですが、ここでは関係ありません)、その価値があります。

20
Fake Name

AFAIK Pylintは、実行中のバージョンのPythonであり、オーバーライドすることはできません。

15
gurney alex

あなたが試すことができます python2 -m pylint ...およびpython3 -m pylint ...。これにより、正しいバージョンを使用できます。

13
Chris Anderson

@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 にバンドルしました。

4
sevko

これは良いことですが、最も簡単なのは、virtualenvを使用し、各virtualenvにpylintをインストールすることだと思います。正しいpylintとpythonインタープリターが使用されます。

3
user3685621

python 3.0を評価するpylint3と、デフォルトでコードをpython 2.7として評価するpylintをインストールできます。

0
David Greydanus

Pylint2とpylint3のように2つのpylintをインストールしてから、目的のスクリプトをサブプロセスするラッパースクリプトを記述します。

0
sthenault

[プロジェクト]-> [プロジェクトの編集]でpylint実行可能ファイルの設定を変更して、Sublime Textのプロジェクトごとのレベルでオーバーライドできます。

"settings":
{
    "SublimeLinter.linters.pylint.executable": ["py", "-3.4", "-m", "pylint"],
}

お好みのフレーバーを3.4に置き換えます

0
RoboCodoDodo