回答:
Python 2と3は別々の獣です。あるバージョンのサイトパッケージにスクリプトをインストールする場合、他のバージョンにはインストールしません。
pipを使用してインストールしますが、適切なバージョンのpipが必要です。
sudo apt-get install python3-pip
sudo pip-3.3 install pylint
これにより、2.7バージョンが置き換えられます。以下を確認することでこれを確認できますless $(which pylint)
。
#!/usr/bin/python3.3
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint==1.0.0','console_scripts','pylint'
__requires__ = 'pylint==1.0.0'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pylint==1.0.0', 'console_scripts', 'pylint')()
)
sudo apt install pylint3
。
受け入れられた答えに対する@saythのコメントは、ここで私を引き付けたものでした-私はpython 2とpython 3の両方のスクリプトを書き、正しいルールセットに対してどちらかをチェックできるようにしたいです。を使用しpip3 install pylint
てpylintをインストールすると/usr/local/bin
、python3インタープリターを呼び出す短いスクリプトが書き込まれるため、チェック対象のすべてのファイルがpython 3スクリプトであると想定されます。
これを回避するために、次のファイルを用意しました。
~/bin/pylint2
:
#!/usr/bin/python2
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint','console_scripts','pylint'
__requires__ = 'pylint'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pylint', 'console_scripts', 'pylint')()
)
および~/bin/pylint3
:
#!/usr/bin/python3
# EASY-INSTALL-ENTRY-SCRIPT: 'pylint','console_scripts','pylint'
__requires__ = 'pylint'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('pylint', 'console_scripts', 'pylint')()
)
そして、Geanyの「Build Commands」メニューから直接pylintを使用したいので、python 2とpython 3スクリプトに異なるコマンドを指定できないので、私も持っています
~/bin/pylint
:
#!/bin/bash
if [[ $(head -n 1 "${@: -1}") == *python3* ]]
then
# python3 file
pylint3 "$@"
else
pylint2 "$@"
fi
これは、シバンをスニッフィングして正しいバージョンをディスパッチします。
完璧ではありませんが、機能的で、おそらく他の人にとっては便利です。
Python 2と3の両方でpylintを実行する別の方法として、Pythonの-m
スイッチを使用して、現在のバージョンのPythonでシステムにインストールされているモジュールを実行できることに注意してください。
$ python2 -m pylint
$ python3 -m pylint
必要なものを明示的に選択します。必要に応じて、これらをエイリアスまたはシェルスクリプトにすることができます。
これは、サイモンの細かい答えに対応しています。私はそれを別の方法で考えただけで、python / pylintの複数のバージョンのソリューションを探している人たちに役立つと思いました。
3.x用のpylintのインストールと2.7のデフォルトまたはその逆の維持は、virtualenvを使用して簡単に実行できます。
仮想環境を作成します。実行中の環境で
pip install pylint
ここで、あなたのenvがpythonとpylintをどこに置いているかを知ることができます
which pylint
#/home/$USER/Desktop/python/awesomeSauce/bin/pylint
その後
which python
#/home/$USER/Desktop/python/awesomeSauce/bin/python
それから、そのリンティングパスやPythonパスを使用するようにIDEを設定するだけです。Sublime3で動作することがわかっているので、以下の例で使用します。
Sublimeのトップヘッダーメニューで、[設定]> [パッケージ設定]> [Pylinter]> [設定-ユーザー]を選択します。
これは単なるjsonオブジェクトです。をセットする
"python_bin": "python",
// to the python path found earlier by 'which python'
"python_bin": "/home/$USER/Desktop/python/awesomeSauce/bin/python",
// dont for get the coma if it is the last element.
// We also change the pylint_path from
"pylint_path": null,
// to
"pylint_path": "/home/$USER/Desktop/python/awesomeSauce/bin/pylint",
// sorry I cant make the formatting look any better.
ファイルを保存します。また、ファイルのコピーを作成し、そのvenvディレクトリに保存して、このリンターが必要なときにこの構成をコピーして貼り付けることで簡単に切り替えられるようにします。そうしないと、Pylinter.sublime-settingsをユーザーのデフォルトにリセットするだけで、それが私が見つけた最も簡単な方法のようです。申し訳ありませんが、Windowsコマンドがわからない場合は、Windowsコマンドをそこに配置することになります。