У меня есть репозиторий proxy pypi, который может быть обновлен только определенным пользователем, но доступ к которому имеют все, у меня есть частное репозиторий pypi и виртуальное репо для доступа к ним.
Моя проблема в том, что через некоторое времялюбая установка pip в виртуальном репо завершится неудачно, не найдя версий модуля.Я попытался связаться с ним напрямую через https // myartifactory / proxy_name-cache / .pypi / module_name и получаю 404.
https://jfrog.com/knowledge-base/how-to-fix-404-error-resource-has-expired/
Я узнал здесь о политике истечения срока действияи, действительно, если я удаляю -cache из предыдущего URL-адреса или вместо этого использую свой виртуальный репозиторий (без входа в систему), модуль обновляется, и установка pip начинает работать.
Почему некоманда pip install запускает тот же механизм, который обновляет модуль и делает его загружаемым, и как я могу это исправить?
@ EDIT
Я попытаюсь объяснить лучше, что я заполнилкеш от pypi вчера.Сегодня артефакты помечены как просроченные (я вижу, что, выполнив запрос по адресу https // myartifactory / proxy_name-cache / .pypi / module_name.html, который возвращает 404)
Поэтому, выполняя установку pip module_nameне работает (Не удалось найти версию, которая удовлетворяет требованию ...).
Это моя проблема
Дело в том, что если я сделаю тот же запрос, который вернул мне ошибку 404, но на proxy_name или virt_name вместо proxy_name-cache, тогда артефакт обновляет артефакт своей версией выше и затем он начинает работать (пока снова не помечен как просроченный)
Такое поведение заставляет меня задуматься, почему выполнениеУстановка pip вместо простого запроса (например, с помощью curl или с помощью браузера) не обновляет артефакт до его исходной версии тоже
Чтобы проиллюстрировать мою проблему:
pip install -i https://myartifactory.net/api/pypi/virt/simple requests # Could not find a version...
curl https://myartifactory.net/pypi-cache/.pypi/requests.html # 404, resource has expired
curl https://myartifactory.net/virt/.pypi/requests.html # 200, returns the html page of versions, meaning it has updated the module with the upstream version
pip install -i https://myartifactory.net/api/pypi/virt/simple requests # Is now working