指定pylint应该evalu哪个python版本

2024-04-23 19:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用带有Pylinter的Sublime Text 3对我的文件运行pylint

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

我可以很容易地重写pylint用来确定它应该运行的python版本的机制吗?理想情况下,会有一个内联指令,但我没有太多的运气找到任何东西。

我正在Windows上编辑(远程vm是linux,但这与它的价值无关)。


Tags: 文件项目代码text机器远程家庭vm
3条回答

扩展@sthenault的答案,并大量借用@simon的答案到askubuntu上的very similar question,解决方案是围绕pylint编写一个包装脚本,用适当版本的Python解释器执行它。将以下内容放入名为mypylint(或其他)的脚本中:

#! /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中。

AFAIK Pylint lints用于运行它的Python版本,无法覆盖它。

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

相关问题 更多 >