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

时间:2014-04-14 05:33:56

标签: python python-3.x pylint

我使用Sublime Text 3与Pylinter在我的文件上运行pylint

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

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

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

7 个答案:

答案 0 :(得分:15)

AFAIK Pylint会发现它正在运行的Python版本,并且无法覆盖它。

答案 1 :(得分:11)

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

答案 2 :(得分:4)

扩展@ sthenault的答案并从@ simon大量借用 askubuntu 上的very similar question,解决方案是在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

我不确定如何将其与sublime-text联系起来,但它更普遍地回答了pylint的并行版本的问题。我还将上述解决方案捆绑到gist

答案 3 :(得分:3)

这很好,但我认为最简单的方法就是使用virtualenv,并在每个virtualenv中安装pylint。将使用正确的pylint和python解释器。

答案 4 :(得分:0)

你应该有两个pylint安装,比如pylint2和pylint3,然后编写一个包装器脚本,它将对所需的一个进行子处理。

答案 5 :(得分:0)

你可以安装pylint3,它将评估python 3.0,以及pylint,默认情况下会将代码评估为python 2.7。

答案 6 :(得分:0)

您可以在Sublime Text中按项目级别覆盖,方法是在Project-> Edit Project中将pylint可执行设置更改为:

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

用3.4代替您喜欢的口味