Зависимость Python удовлетворена, но pip все еще жалуется на zope.interface==4.6.0

#python-3.x #pip

Вопрос:

При установке всех пакетов я не получаю ошибки с соответствующей версией для zope.interface пакета, даже если версия присутствует в списке.

Ошибка: не удалось найти версию, которая удовлетворяет требованию синец.интерфейс==4.6.0 (из версий: 3.3.0b1, 3.3.0b2, 3.3.0, 3.3.0.1, 3.4.0b1, 3.4.0, 3.4.1, 3.5.0, 3.5.1, 3.5.2, 3.5.3, 3.6.0, 3.6.1, 3.6.2, 3.6.3, 3.6.4, 3.6.5, 3.6.6, 3.6.7, 3.6.8, 3.7.0, 3.8.0, 4.0.0, 4.0.1, 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.2.0, 4.3.0, 4.3.1, 4.3.2, 4.3.3, 4.4.0, 4.4.1, 4.4.2, 4.4.3, 4.5.0, 4.6.0, 4.7.0, 4.7.1, 4.7.2, 5.0.0, 5.0.1, 5.0.2, 5.1.0, 5.1.1, 5.1.2, 5.2.0, 5.3.0a1, 5.3.0, 5.4.0).
Ошибка: нет соответствия распределение нашли по зопе.интерфейс==4.6.0

Как видно выше, версия, подлежащая установке, присутствует в списке из версий, но pip все еще жалуется и выдает ошибки.
Что здесь происходит не так ?
Я на Python 3.9.5 с pip 21.1.1

Ответ №1:

Я только что решил похожую проблему. Вы не вставили это как часть своего сообщения об ошибке, поэтому мы можем отличаться, но на всякий случай:

Основная проблема для меня здесь была связана с инструментами настройки. В частности, в выводе ошибок я получил сообщение об ошибке, заканчивающееся на ImportError: cannot import name 'Feature' from 'setuptools' .

Похоже , что zope.interface<5.0.0 он полагается на устаревший API от setuptools , поэтому pip выбрасывает соответствующее распределение, как только оно выдает ошибку. Закрепление setuptools до версии 45 или использование zope.interface==5.0.0 или более поздней версии должно решить эту проблему.

Видишь https://github.com/pypa/setuptools/issues/2017.