Есть несколько хорошо известных проблем (ограничений и ошибок) с текущим решателем зависимостей pip . Новый (лучший) в разработке. Это уже можно проверить. Подробнее в этом ответе и его ссылках: { ссылка }
С учетом сказанного, эти два требования несовместимы:
botocore==1.15.11
docutils==0.16
Как видно на setup.cfg
для ботокора 1.15.11 :
[bdist_wheel]
universal = 1
[metadata]
requires-dist =
python-dateutil>=2.1,<3.0.0
jmespath>=0.7.1,<1.0.0
docutils>=0.10,<0.16
urllib3>=1.20,<1.25.8; python_version=='3.4'
urllib3>=1.20,<1.26; python_version!='3.4'
По-прежнему можно указать pip на установку такой комбинации (которая рекламируется как несовместимая). И pip предупредит об этом конфликте, как вы показали в своем вопросе, или запустив pip check
(который, кстати, насколько мне известно, на сегодняшний день уже использует более новое разрешение зависимостей) :
$ pip check
botocore 1.15.11 has requirement docutils<0.16,>=0.10, but you have docutils 0.16.
Импорт и исполняемый код могут по-прежнему работать без каких-либо (очевидных) проблем. Например: возможно, что botocore 1.15.11 на самом деле не полностью несовместимо с Docutils 0.16 . Либо путь кода, который может вызвать проблему, не задействован, либо ограничение docutils<0.16
было введено в качестве превентивной меры.