Почему Pip ищет кеш загрузки, если точно такой же пакет уже установлен, при выполнении —upgrade

#python #installation #pip #easy-install

#python #установка #pip #простая установка

Вопрос:

Это в Windows. В пакетах глобального сайта я установил двоичный файл lxml (.egg file) . И теперь я создаю virtualenv и пытаюсь получить то же самое яйцо из глобальной среды.

 virtualenv.exe mynewvenv
call mynewvenvScriptsactivate.bat
  

Итак, «pip freeze» выдает мне яйцо, которое я установил в своей глобальной среде.

Теперь у меня есть архивная версия (исходный код) того же пакета lxml (с тем же именем и той же версией) в кэше загрузки. Теперь, если я запускаю «pip install —upgrade», он фактически выбирает архив (исходный код) из кэша загрузки и устанавливает его, не проверяя, что тот же пакет уже установлен (хотя и в виде яйца). Почему pip ведет себя подобным образом? В идеале Pip должен выводить что-то вроде «Требование уже статистизировано» и двигаться дальше. Не так ли?

Обновление: Только сейчас обнаружил, что даже «easy_install» ведет себя таким же странным образом.

Ответ №1:

При использовании pip install --upgrade он всегда (повторно) устанавливает пакет и его зависимости.

IIRC это единственный способ принудительной переустановки.