ОШИБКА: для пакета "stp.py" требуется другой Python: 2.7.12 not in '> = 3.6, <4.0'?

Я пытаюсь установить ElastAlert на свой ubuntu 16.04, и всякий раз, когда я запускаю pip install elastalert , я продолжаю сталкиваться с ошибкой. В настоящее время я использую python 2.7.12. Любая помощь будет оценена. Я новичок в этом, поэтому не уверен, что делаю не так. Сообщение об ошибке выглядит следующим образом: -

    DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. 
Please upgrade your Python as Python 2.7 is no longer maintained. 
pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
    Defaulting to user installation because normal site-packages is not writeable
    Collecting elastalert
      Using cached elastalert-0.2.4.tar.gz (128 kB)
    Requirement already satisfied: apscheduler>=3.3.0 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (3.6.3)
    Requirement already satisfied: aws-requests-auth>=0.3.0 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (0.4.2)
    Requirement already satisfied: blist>=1.3.6 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (1.3.6)
    Requirement already satisfied: boto3>=1.4.4 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (1.12.28)
    Requirement already satisfied: configparser>=3.5.0 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (4.0.2)
    Requirement already satisfied: croniter>=0.3.16 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (0.3.31)
    Collecting elasticsearch==7.0.0
      Using cached elasticsearch-7.0.0-py2.py3-none-any.whl (80 kB)
    Requirement already satisfied: envparse>=0.2.0 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (0.2.0)
    Requirement already satisfied: exotel>=0.1.3 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (0.1.5)
    Collecting jira>=2.0.0
      Using cached jira-2.0.0-py2.py3-none-any.whl (57 kB)
    Collecting jsonschema>=3.0.2
      Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
    Collecting mock>=2.0.0
      Using cached mock-3.0.5-py2.py3-none-any.whl (25 kB)
    Collecting prison>=0.1.2
      Using cached prison-0.1.3-py2.py3-none-any.whl (5.8 kB)
    Requirement already satisfied: PyStaticConfiguration>=0.10.3 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (0.10.4)
    Collecting python-dateutil<2.7.0,>=2.6.0
      Using cached python_dateutil-2.6.1-py2.py3-none-any.whl (194 kB)
    Requirement already satisfied: PyYAML>=3.12 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (5.3.1)
    Requirement already satisfied: requests>=2.10.0 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (2.23.0)
    Requirement already satisfied: stomp.py>=4.1.17 in /home/ubuntu/.local/lib/python2.7/site-packages (from elastalert) (6.0.0)
    ERROR: Package 'stomp.py' requires a different Python: 2.7.12 not in '>=3.6,<4.0'
2
задан 17 August 2020 в 16:23

2 ответа

Похоже, вам каким-то образом удалось установить более новую версию stp.py (6.0.0), которая несовместима с Python 2, который поддерживается только до версии 4.xx .

Я предлагаю вам удалить stp.py и позволить ему снова установить правильную версию в качестве зависимости. Я протестировал его в новом контейнере Ubuntu 16.04, и он отлично работал у меня, хотя имейте в виду, что вам также потребуются последние версии pip и setuptools для правильной сборки и установки всего, начиная с что я пробовал:

pip install --upgrade pip
pip install --upgrade setuptools
pip uninstall stomp.py
pip install elastalert

Тем не менее, хотя можно установить elastalert на Python 2.7, он также совместим с Python 3 (протестировано по умолчанию 3.5 в Ubuntu 16.04), что должно быть подходящим вариантом, если только у вас нет чего-то конкретного, сдерживающего вас, поскольку Python 2 устарел и больше не поддерживается обновлениями.

apt install python3-pip
pip3 install elastalert
3
ответ дан 21 August 2020 в 07:57

Ошибка довольно понятная. Пакет, который вы пытаетесь установить, поддерживает только Python 3.6 +.

У вас есть варианты либо установить более новый Python (для которого есть множество руководств в Интернете), либо перейти на более новую версию Ubuntu LTS (16.04 приближается к концу Жизни).

5
ответ дан 21 August 2020 в 07:57

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

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