Pip: выдернутый релиз каким-то образом доступен по умолчанию

Когда я пытаюсь установить пакет python из pypi, по умолчанию каким-то образом устанавливается выдернутая версия.

По истории пакета terminado: https://pypi.org/project/terminado/#history дергается версия 0.13.0, но при запуске следующее

h-ishida@0bbb747d2765:~$ pip install terminado==foo ОШИБКА: не удалось найти версию, удовлетворяющую требованию terminado==foo (из версии: 0.1, 0.2, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.13.0) ОШИБКА: не найдено подходящего дистрибутива для terminado==foo

верхняя версия в списке — 0.13.0, которая выдергивается, и при попытке установить ее без указания версии устанавливается 0.13.0.

Обратите внимание, что версия pip — это 9.0.1 для python2. Проблема в том, что 0.13.0 больше не совместим с python2, поэтому при установке возникла ошибка.

В чем причина этой ошибки? Это pip или баг pypi? или я сделал что-то не так?

🤔 А знаете ли вы, что...
В Python есть инструменты для тестирования кода, такие как библиотека unittest.


1
75
1

Ответ:

Решено

Вполне возможно, что вы используете глючную (трехлетнюю! пятилетнюю) версию Pip, которая не знает о выдернутых версиях или не может определить, какие версии пакетов поддерживают Python 2 и Python 3, но также Python 2 закончился и не поддерживается в течение 3 лет, поэтому вам не следует использовать его в первую очередь.

Похоже, что terminado==0.8.3 — это последняя версия, поддерживающая Python 2 (исходя из наличия колеса py2.py3), поэтому просто установите его, если вам действительно нужно.