Установка Pylint для Python3 на Ubuntu

Я понимаю, что последняя версия 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?

1
задан 30 March 2016 в 14:55

4 ответа

Комментарий @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.

Не идеально, конечно, но функционально и, возможно, полезно для других.

19
ответ дан 24 May 2018 в 18:22

Как другой метод запуска pylint на обоих Python 2 и 3, обратите внимание, что вы можете использовать переключатель -m Python для запуска модуля, установленного в системе в текущей версии Python, поэтому вы можете сделать

[ f1]

, чтобы явно выбрать, какой из них вы хотите. Вы можете сделать их в псевдонимы или сценарии оболочки, если хотите.

4
ответ дан 24 May 2018 в 18:22

Корень проблемы заключается в том, что 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
2
ответ дан 24 May 2018 в 18:22

sudo apt install pylint3

Работал для меня на Ubuntu 16.04.2 LTS

1
ответ дан 24 May 2018 в 18:22
  • 1
    это работает и для меня. Установлена ​​pylint для python3 и по-прежнему сохраняется pylint для python 2. – zhihong 12 September 2017 в 18:24

Другие вопросы по тегам:

Похожие вопросы: