Как я могу установить pylint для python2.7?

Я пытаюсь установить pylint для python2.7, который в Ubuntu 18.04, но это вызывает ошибку с этими словами:

pip install pylint                                  
Collecting pylint
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/04/1f/1d3929051b45c3e4015178c5fe5bbee735fb4e362e0fc4f0fbf3f68647ad/pylint-2.1.1.tar.gz
pylint requires Python '>=3.4.*' but the running Python is 2.7.15

Я был использован pip3 успешно установил пилинт для python3.6.

Итак, как мне установить pylint для python2.7?

3 ответа

Решение

Pylint по-прежнему поддерживает Python 2 до следующего года или около того. Но вам нужно установить 1.9.X вместо 2.X, Кажется, что вы уже pylint После установки вы сможете получить 1.9.

В настоящее время становится все труднее устанавливать библиотеки Python, но это все еще возможно, если вы позаботитесь о исправлении версий зависимостей.

Для PyLint также следует исправить версии configparser и isort которые были обновлены до Python 3.

Итак, команда для запуска:

      pip install "pylint<2" "configparser~=4.0.2" "isort~=4.3.21"

Обратите внимание, что здесь с ~=, Я использовал ограничения версии, которые позволили бы установить последнее исправление ошибок каждой библиотеки. Но вы также можете использовать строгое ограничение с == поскольку существует небольшая вероятность того, что будет выпущено обновление для Python 2.7.

Вот версии библиотек, установленных на сегодняшний день (2020-07-12) с помощью этой команды:

      > pip freeze
astroid==1.6.6
backports.functools-lru-cache==1.6.4
configparser==4.0.2
enum34==1.1.10
futures==3.3.0
isort==4.3.21
lazy-object-proxy==1.6.0
mccabe==0.6.1
pylint==1.9.5
singledispatch==3.6.2
six==1.16.0
wrapt==1.12.1

Короткая версия: пакет не написан для python <3.4, ​​что также можно увидеть, посмотрев на источник setup.py

Длинная версия: вы можете попробовать клонировать два пакета, которые вам нужны

  1. git clone https://github.com/PyCQA/astroid
  2. git clone https://github.com/PyCQA/pylint

Затем удалите python_requires='>=3.4.*' от setup.py и попробовать python setup.py install, Но, вероятно, вам придется проделать много ручной работы, чтобы сделать пакет python2.7 совместимым. В качестве альтернативы вы можете проверить, поддерживает ли какая-либо из более старых версий python2, но использование устаревшей библиотеки не рекомендуется.

Ваш лучший выбор для этого:

Переключитесь на использование Python 3.6 или найдите другую библиотеку

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