Я понимаю, что последняя версия Pylint (1.0.0 на момент написания этой статьи) поддерживает Python 3, но я не могу заставить ее работать с 64-разрядным Ubuntu 13.04 с Python 3.3.
Я выполнил инструкции по установке на Pylint , и Pylint 1.0.0, похоже, успешно установлен (pylint --version возвращает pylint 1.0.0) и работает с кодом Python 2.7, но он сообщает синтаксическую ошибку, когда видит нелокальные утверждения и т. д.
Что дает? Существуют ли специальные инструкции по установке для Pylint на Ubuntu?
Комментарий @sayth к принятому ответу был тем, что привлекло меня сюда - я пишу сценарии python 2 и python 3, и я хочу иметь возможность проверять либо на правильный набор правил. установка pylint с помощью pip3 install 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')()
)
, а затем, потому что мне нравится использовать pylint прямо из меню «Build Commands» из Geany, и я не могу указать разные команды для скриптов python 2 и python 3, у меня также есть ~/bin/pylint:
#!/bin/bash
if [[ $(head -n 1 "${@: -1}") == *python3* ]]
then
# python3 file
pylint3 "$@"
else
pylint2 "$@"
fi
, который отправляет правильную версию, обнюхивая shebang.
Не идеально, конечно, но функционально и, возможно, полезно для других.
Как другой метод запуска pylint на обоих Python 2 и 3, обратите внимание, что вы можете использовать переключатель -m Python для запуска модуля, установленного в системе в текущей версии Python, поэтому вы можете сделать
[ f1], чтобы явно выбрать, какой из них вы хотите. Вы можете сделать их в псевдонимы или сценарии оболочки, если хотите.
Корень проблемы заключается в том, что pylint должен поставляться с консольными консольными сценариями для / usr / local / bin / pylint2 и / usr / local / bin / pylint3. Это должно считаться ошибкой.
Не работает следующее: он все еще запускает pylint2:
python3 -m pylint p3file.py
Ниже показано, что я успешно использовал:
python2 /usr/local/bin/pylint p2file.py
python3 /usr/local/bin/pylint p3file.py
sudo apt install pylint3
Работал для меня на Ubuntu 16.04.2 LTS