有没有办法用pip卸载多个包?

时间:2012-02-23 02:03:07

标签: python pip xargs

我正在尝试删除所有已安装的“pyobjc-framework”-prefixed包。我尝试过以下方法:

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

但是这个barf因为每个pip卸载都需要确认(也许一种方法可以绕过这个解决方案)。

在我必须分解并手动卸载每个这些之前请帮忙!没有人想要那个。

5 个答案:

答案 0 :(得分:40)

如果将-y | --yes标志添加到pip: - )

,那么您的命令实际上应该有效
  

-y, - 是不要求确认卸载删除。

可能:

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

答案 1 :(得分:5)

将grep输出重定向到新文件并运行。

 pip uninstall -r <file name>

我觉得有效。

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

答案 2 :(得分:3)

我总是使用这个:

pip freeze | xargs pip uninstall -y

答案 3 :(得分:0)

收到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

答案 4 :(得分:0)

只需将这些包准备为列表:

pip uninstall <list of requirement> -y
e.g.:
pip uninstall  termcolor, imgviz, matplotlib, PyYAML, qtpy, Pillow, colorama, PyQt5, numpy -y

例如:三步用pip卸载依赖包:

  1. 显示依赖列表
  2. 移除包裹
  3. 删除它的依赖列表(从 1 复制它。)
详情:
 1. pip show <package>

    e.g.:
    pip show labelme
    ...
    Requires: termcolor, imgviz, matplotlib, PyYAML, qtpy, Pillow, colorama, PyQt5, numpy
    ...

 2. pip uninstall <package>
    e.g.
    pip uninstall labelme

 3. pip uninstall <list of requirement> -y
    e.g.:
    pip uninstall  termcolor, imgviz, matplotlib, PyYAML, qtpy, Pillow, colorama, PyQt5, numpy -y