2012-02-23 13 views
17

Sto tentando di rimuovere tutti i pacchetti "pyobjc-framework" -prefixed installati. Ho provato quanto segue:C'è un modo per disinstallare più pacchetti con pip?

% pip freeze | grep pyobjc-framework | xargs pip uninstall 

ma questo bArFS perché ogni pip disinstallazione richiede la conferma (forse un modo per aggirare questo sarebbe una soluzione).

Si prega di aiutare prima di dover rompere e disinstallare ciascuno di questi manualmente! Nessuno lo vuole.

risposta

29

vostro comando dovrebbe effettivamente funzionare se si aggiunge il flag -y | --yes per pip :-)

-y, --Sì non chiedono la conferma di delezioni di disinstallazione.

Possibilmente:

% pip freeze | grep pyobjc-framework | xargs pip uninstall -y

+0

Bingo. -y è la bandiera di cui avevo bisogno. Ho anche bisogno di xargs per passare un singolo argomento alla volta, quindi il mio comando finale assomiglia a questo: '% pip freeze | grep pyobjc-framework | xargs -n 1 sudo pip uninstall -y' Grazie! – wh1tney

4

Reindirizzare l'output di grep in un nuovo file ed eseguirlo.

pip uninstall -r <file name> 

opere penso.

pip freeze | grep pyobjc > packages_to_remove.txt 
sudo pip uninstall -y -r packages_to_remove.txt 
+0

ehm, scusate. 'pip freeze | grep pyobjc> packages_to_remove.txt; sudo pip uninstall -y -r packages_to_remove.txt' dovrebbe farlo. Nota, il flag -y deve venire prima quando si usa anche l'opzione -r e un argomento file. Doh. – wh1tney

1

Io uso sempre questo:

pip freeze | xargs pip uninstall -y 
Problemi correlati