2013-10-23 15 views
240

Mi sono imbattuto in situazioni in cui una versione corrente di un pacchetto sembra non funzionare e richiede la reinstallazione. Ma pip install -U non toccherà un pacchetto che è già aggiornato. Vedo come forzare una reinstallazione prima disinstallando (con pip uninstall) e poi installando, ma c'è un modo per forzare semplicemente un "aggiornamento" ad una versione nominalmente corrente in un unico passaggio?Posso forzare pip per reinstallare la versione corrente?

+2

sto avendo il problema opposto: pip continua a reinstallare le dipendenze già installate. –

risposta

350
pip install --upgrade --force-reinstall <package> 

Durante l'aggiornamento, reinstallare tutti i pacchetti anche se sono già aggiornati.

pip install -I <package> 
pip install --ignore-installed <package> 

Ignora i pacchetti installati (reinstallando invece).

+140

Funziona, ma è necessario specificare '--upgrade':' pip install --upgrade --force-reinstall –

+1

'Un modo per forzare una sovrascrittura quando si utilizza --target = flag? nessuno di questi ha funzionato per me. Ricevo il percorso di destinazione già esistente errore. – radtek

+0

@KeeganQuinn pensi che sia quello che intendeva Karan con "Durante l'aggiornamento" ...? Suppongo di sì. Ma il tuo chiarimento sicuramente mi aiuta. –

20
--force-reinstall 

non sembra forzare reinstallazione utilizzando python2.7 con pip-1.5

ho dovuto usare

--no-deps --ignore-installed 
+15

Devi specificare '--upgrade' oltre a' --force-reinstall', altrimenti non avrà alcun effetto. –

98

Si potrebbe desiderare di avere tutte e tre le opzioni: --upgrade e --force-reinstall assicura la reinstallazione, mentre --no-deps evita di reinstallare le dipendenze.

$ sudo pip install --upgrade --no-deps --force-reinstall <packagename> 

In caso contrario si potrebbe incorrere nel problema che inizia pip ricompilare Numpy o altri pacchetti di grandi dimensioni.

12

Se si desidera reinstallare i pacchetti specificati in un file requirements.txt, senza l'aggiornamento, quindi basta reinstallare le versioni specifiche specificate nel file requirements.txt:

pip install -r requirements.txt --ignore-installed 
Problemi correlati