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?
risposta
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).
Funziona, ma è necessario specificare '--upgrade':' pip install --upgrade --force-reinstall –
'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
@KeeganQuinn pensi che sia quello che intendeva Karan con "Durante l'aggiornamento" ...? Suppongo di sì. Ma il tuo chiarimento sicuramente mi aiuta. –
--force-reinstall
non sembra forzare reinstallazione utilizzando python2.7 con pip-1.5
ho dovuto usare
--no-deps --ignore-installed
Devi specificare '--upgrade' oltre a' --force-reinstall', altrimenti non avrà alcun effetto. –
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.
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
sto avendo il problema opposto: pip continua a reinstallare le dipendenze già installate. –