Specify which python version pylint should evaluate for

依然范特西╮ 提交于 2019-12-01 02:24:23

AFAIK Pylint lints for the version of Python it is running on and it is not possible to override it.

You can try python2 -m pylint ... and python3 -m pylint .... That ensures that you use the right version.

sevko

Expanding on @sthenault's answer and borrowing heavily from @simon's to a very similar question on askubuntu, the solution is to write a wrapper script around pylint that executes it with the appropriate version of the Python interpreter. Drop the following into a script called mypylint (or whatever) somewhere in your $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

Then, execute it like so: mypylint 2|3 PYLINT_ARGS. For instance:

mypylint 2 -f colorized module.py

I'm not sure how you can tie that into sublime-text, but it more generally answers the question of parallel versions of pylint. I also bundled the above solution into a gist.

This is good, but I think the simplest thing is just to use virtualenv, and install pylint in each virtualenv. The correct pylint and python interpreter will be used.

You should have two pylint installations, say pylint2 and pylint3, then write a wrapper script that will subprocess the desired one.

You can install pylint3 which will evaluate for python 3.0, and pylint which will evaluate the code as python 2.7 by default.

You can override on a per-project level in Sublime Text by changing the pylint executable setting in Project->Edit Project to include:

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

substituting 3.4 for your preferred flavour

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!