2012-02-18 11 views
16

In un progetto python (django), quando si modifica la posizione di una dipendenza esistente con pip e si reinstalla il file requirements.txt aggiornato in un'altra macchina, viene visualizzato un messaggio con un messaggio in questo modo: -installazione pip con opzione di cancellazione per impostazione predefinita

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 

a questo punto, verrà selezionato "w" (wipe) per spazzare via la vecchia copia di django-sud e usare django-sud dalla nuova posizione repository.

Mi piacerebbe farlo come comportamento predefinito senza dover digitare "w".

C'è un'opzione posso specificare quando dare il mio comando

pip install -r requirements.txt 

in modo che il processo di installazione saprà automaticamente che voglio eliminare la copia più vecchio e non richiede me di scegliere s/i/w/b?

risposta

13

è possibile utilizzare il comando yes:

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

sembra funzionare bene. Grazie! –

+1

Seriamente !!!!!? * nix continua a stupirmi con tutti questi strumenti crufty ... – RickyA

27

Da PIP versione 1.1 in poi è anche possibile utilizzare:

--exists-action = EXISTS_ACTION azione predefinito quando una strada già exists.Use questo opzione più una volta per specificare un'altra azione se una certa opzione non è disponibile, scelte: (s) strega, (i) gnore, (w) ipe, (b) ackup

+0

Buon consiglio! Grazie! –

Problemi correlati