Подтвердить что ты не робот

Что делать, ведьма, (i) gnore, (w) ipe, (b) опции ackup означают при установке пакета из репозитория с помощью pip?

При установке пакета с помощью pip я получаю следующее сообщение:

Obtaining some-package from git+git://github.com/some-user/[email protected]#egg=some_package-dev (from -r requirements.txt
 (line 3))
  git clone in /Users/me/Development/some-env/src/some-package exists with
 URL https://github.com/some-user/some-package.git
  The plan is to install the git repository git://github.com/some-user/some-package.git
What to do?  (s)witch, (i)gnore, (w)ipe, (b)ackup

Я вижу, что этот конкретный случай, вероятно, вызван изменением протокола в URL-адресе (новое требование использует git://, а уже установленный использует https://).

Однако, интересно, что именно происходит, если я выберу любой из вариантов (переключатель, игнорирование, стирание, резервное копирование). Я не могу найти объяснение в документации по протоколу.

4b9b3361

Ответ 1

Патч, объясняющий эту опцию, был объединен с документацией PIP, но не был выпущен до Pip 6.0 (2014-12-22). (https://github.com/pypa/pip/commit/b5e54fc61c06268c131f1fad3bb4471e8c37bb25). Вот что говорит этот патч:

- существует опция действия

Эта опция указывает поведение по умолчанию, когда путь уже существует. Возможные случаи: загрузка файлов или проверка репозиториев для установки, создание архивов. Если --exists-action не определено, команда подскажет когда решение необходимо.

  • (ы) ведьма

    Только для проверки VCS. Попытка переключить проверку к соответствующему URL и/или ревизии.

  • (я) Пропускать

    Прервать текущую операцию (например, не копировать файл, не создавать архив, не изменяйте оформление заказа).

  • (ш) IPE

    Удалите файл или проверку VCS, прежде чем пытаться создать, загрузить или проверить новый.

  • (б) ackup

    Переименуйте файл или checkout в {name}{'.bak' * n}, где n - некоторое число из .bak расширений, так что файл не существовал в какой-то момент. Таким образом, последняя резервная копия будет следующей с наибольшим числом после .bak.

И вот ссылка на описание этого параметра в обновленной документации: https://pip.pypa.io/en/latest/reference/pip.html#exists-action-option.