2012-02-18 18 views
16

W projekcie python (django), gdy zmieniam lokalizację istniejącej zależności za pomocą pip i ponownie instaluję zaktualizowany plik requirements.txt na innym komputerze, pojawia się monit z komunikatem tak: -Instalowanie pip z domyślną opcją czyszczenia

Obtaining South from git+git://github.com/lambdafu/[email protected]#egg=South-dev (from -r requirements.txt (line 5)) 
    git clone in ./src/south exists with URL git://github.com/clones/django-south.git 
    The plan is to install the git repository git://github.com/lambdafu/django-south.git 
What to do? (s)witch, (i)gnore, (w)ipe, (b)ackup 

w tym momencie, wybiorę „w” (wytrzeć), aby wymazać starą kopię Django południu i używać django-południe z nowej lokalizacji repozytorium.

Chciałbym zrobić to jako domyślne zachowanie bez konieczności wpisywania "w".

Czy istnieje opcja mogę określić, kiedy dając moje polecenie

pip install -r requirements.txt 

tak, że proces instalacyjny automatycznie wie, że chcę wymazać starszą kopię i nie poprosi mnie do wyboru s/i/w/b?

Odpowiedz

13

Można użyć polecenia yes:

yes w | pip install -r requirements.txt 
+0

wydaje się działać dobrze. dzięki! –

+1

Poważnie !!!!!? * Nix zachwyca mnie wszystkimi tymi okrutnymi narzędziami ... – RickyA

27

Od PIP wersji 1.1 roku można również użyć:

--exists-action = EXISTS_ACTION domyślne działanie, gdy droga ta już exists.Use Opcja więcej niż jeden raz, aby określić inną akcję, jeśli pewna opcja nie jest dostępna, opcje: (s) czarownica, (i) gnore, (w) ipe, (b) korekta

+0

Dobra wskazówka! Dzięki! –

Powiązane problemy