指定要为哪个python版本的pylint进行评估

Fak*_*ame 19 python pylint python-3.x

我正在使用Sublime Text 3 With Pylinter来运行pylint我的文件.

但是,在同一台机器上,我处理python 2和python 3项目的文件(代码在几个远程测试VM中的一个上通过SSH执行.我通过在SMB上打开它来修改文件.是我的家庭测试实验室,我终于坐下来学习py3k了.

我可以轻松地覆盖pylint用于确定它应该lint的python版本的机制吗?理想情况下,会有一个内联指令,但我找不到任何好运.

我在Windows上(编辑)(远程虚拟机是linux,但这里不相关),这是值得的.

gur*_*lex 16

AFAIK Pylint会对其运行的Python版本进行修改,因此无法覆盖它.


Chr*_*son 16

你可以尝试python2 -m pylint ...python3 -m pylint ....这可以确保您使用正确的版本.

  • 完美,我认为这是最好的答案.当然你必须在你的两个python安装上安装pylint.(`pip2 install pylint`和`pip3 install pylint`) (2认同)

sev*_*vko 5

扩大对@ sthenault的答案,并从@西蒙的大量举债来一个非常类似的问题askubuntu,解决的办法是写一个包装脚本各地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
Run Code Online (Sandbox Code Playgroud)

然后,执行它像这样:mypylint 2|3 PYLINT_ARGS。例如:

mypylint 2 -f colorized module.py
Run Code Online (Sandbox Code Playgroud)

我不确定如何将其绑定到高级文本中,但更笼统地回答了并行版本的问题pylint。我还将上述解决方案捆绑到了要点中