Есть ли способ удалить несколько пакетов с помощью pip? - PullRequest
21 голосов
/ 23 февраля 2012

Я пытаюсь удалить все установленные пакеты с префиксом "pyobjc-framework". Я пробовал следующее:

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

но это barfs, потому что каждая деинсталляция пункта требует подтверждения (возможно, способ обойти это будет решением).

Пожалуйста, помогите, прежде чем мне придется сломать и удалить каждый из них вручную! Никто не хочет этого.

Ответы [ 4 ]

40 голосов
/ 23 февраля 2012

Ваша команда должна работать, если вы добавите флаг -y | --yes в pip: -)

-y, --yes Не запрашивать подтверждение удаления.

Возможно:

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

5 голосов
/ 23 февраля 2012

Перенаправить вывод grep в новый файл и запустить.

 pip uninstall -r <file name>

работает, я думаю.

pip freeze | grep pyobjc > packages_to_remove.txt
sudo pip uninstall -y -r packages_to_remove.txt
3 голосов
/ 05 декабря 2013

Я всегда использую это:

pip freeze | xargs pip uninstall -y
0 голосов
/ 16 октября 2018

greping pip freeze возвращено:

Usage:   
  pip uninstall [options] <package> ...
  pip uninstall [options] -r <requirements file> ...

no such option: -e

Так что я сделал это с pip list вместо:

$ pip list | grep tempest | xargs pip uninstall -y

Uninstalling neutron-tempest-plugin-0.0.0:
  Successfully uninstalled neutron-tempest-plugin-0.0.0
Uninstalling octavia-tempest-plugin-0.0.0:
  Successfully uninstalled octavia-tempest-plugin-0.0.0
Uninstalling tempest-19.0.1.dev152:
  Successfully uninstalled tempest-19.0.1.dev152
...