绕过确认提示进行pip卸载

hob*_*obs 66 python django module pip easy-install

我正在尝试在我的超级用户环境中卸载所有django软件包,以确保我的所有webapp依赖项都安装到我的virtualenv.

sudo su
sudo pip freeze | grep -E '^django-' | xargs pip -q uninstall
Run Code Online (Sandbox Code Playgroud)

但是pip想要确认每个软件包卸载,并且pip似乎没有-y选项.有没有更好的方法来卸载一批python模块?是rm -rf .../site-packages/一个正确的方法去?是否有easy_install替代方案?

或者,最好是强制pip将所有依赖项安装到virtualenv而不是依赖系统python模块来满足这些依赖性,例如pip --upgrade install,但强制安装甚至同样旧的版本来覆盖任何系统模块.我尝试激活我的virtualenv,然后pip install --upgrade -r requirements.txt这似乎安装依赖项,甚至是我的系统路径中存在的依赖项,但我不能确定是否因为我的系统模块是旧的.并且man pip似乎不保证这种行为(即安装系统site-packages中已存在的相同版本的软件包).

gbo*_*zee 148

从pip版本7.1.2开始,你可以运行 pip uninstall -y <python package>

  • 直截了当的回答,谢谢! (2认同)

Kev*_*ice 62

Pip不包括--yes选项(从pip版本1.3.1开始).

解决方法:管道是的!

$ sudo ls  # enter pw so not prompted again
$ /usr/bin/yes | sudo pip uninstall pymongo
Run Code Online (Sandbox Code Playgroud)

  • 在Windows上:`echo y | pip uninstall pymongo` (4认同)
  • 啊,多么简单。感谢 unix 程序提醒。`是的`非常有用。 (3认同)
  • `pip freeze> all_to_uninstall.txt``yes | pip uninstall -r all_to_uninstall.txt` (3认同)
  • (对于上面的 hobs 问题,有 [bash - 如何将 yes 传输到 xargs 启动的程序? - 堆栈内存溢出](/sf/ask/4005619341/由 xargs 启动的程序) ) (2认同)

aki*_*raj 7

如果您要从中卸载每个软件包requirements.txt

pip uninstall -y -r requirements.txt
Run Code Online (Sandbox Code Playgroud)