Глобальная опция –no-input запрещает pip задавать интерактивные вопросы и ждать ответ в терминале. CI получает ошибку сразу.
Включите режим на runner
Передавайте флаг в автоматической установке или задайте PIP_NO_INPUT, чтобы скрытый запрос логина, подтверждения либо keyring backend не удерживал job до общего timeout.
python -m pip --no-input install -r requirements.txt
Настройте секреты заранее
Приватный индекс должен получать credentials через secret store, netrc или проверенный keyring provider, причем auto provider при no-input не обращается к keyring и способен вернуть ошибку авторизации.
Не прячьте сообщение
Сохраняйте stderr и код возврата, затем исправляйте отсутствующий секрет или спорное действие, вместо повторного запуска с разрешенным вводом на безлюдном runner.
Проверяйте noninteractive-сценарий в чистом контейнере без локальных credentials, иначе домашний netrc разработчика замаскирует реальную конфигурацию CI.
Доступ хранит keyring для pip. Флаг определяет общий справочник pip.