blu*_*lds 810
我发现这个片段作为替代解决方案.与重塑virtualenv相比,它更优雅地删除了库:
pip freeze | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
如果您通过VCS安装了软件包,则需要排除这些行并手动删除软件包(从下面的评论中提升):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
Har*_*iya 253
这适用于所有Mac,Windows和Linux系统.要获取requirements.txt文件中所有pip包的列表(注意:这将覆盖requirements.txt,如果存在则会创建新的.)
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
现在逐一删除
pip uninstall -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
如果我们想立即删除所有
pip uninstall -r requirements.txt -y
Run Code Online (Sandbox Code Playgroud)
如果您正在处理具有requirements.txt
文件并且环境已经分歧的现有项目,只需使用requirements.txt
上面的示例替换即可toberemoved.txt
.然后,一旦完成上述步骤,您就可以使用它requirements.txt
来更新现在干净的环境.
对于没有创建任何文件的单个命令(如建议的joeb).
pip uninstall -y -r <(pip freeze)
Run Code Online (Sandbox Code Playgroud)
Rob*_*kal 103
我认为这适用于最新的
virtualenv --clear MYENV
Run Code Online (Sandbox Code Playgroud)
Tay*_*ton 69
我想从评论部分提出这个答案,因为它是该主题中最优雅的解决方案之一.这个答案完全归功于@joeb.
pip uninstall -y -r <(pip freeze)
Run Code Online (Sandbox Code Playgroud)
这对我来说很有用,因为在virtualenv的上下文之外清除我的用户包文件夹,许多上述答案都没有处理.
编辑:任何人都知道如何使这个命令在Makefile中工作?
为方便起见,我将此添加到我的bash配置文件中:
alias pipuninstallall="pip uninstall -y -r <(pip freeze)"
Run Code Online (Sandbox Code Playgroud)
然后运行:
pipuninstallall
Run Code Online (Sandbox Code Playgroud)
如果您碰巧使用pipenv,您可以运行:
pipenv uninstall --all
Run Code Online (Sandbox Code Playgroud)
neh*_*iah 46
使用pip list
或pip freeze
必须包含--local
其他答案的其他答案也将卸载在公共命名空间中找到的包.
所以这里是我经常使用的片段
pip freeze --local | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
要么
pip freeze --local | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
通过发布了解有关此行为的更多信息 pip freeze --help
Sur*_*yaa 38
pip freeze
)pip freeze | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
pip list
)pip list | awk '{print $1}' | xargs pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
virtualenv
)virtualenv --clear MYENV
Run Code Online (Sandbox Code Playgroud)
Pri*_*ign 36
我通过执行以下操作来管理它:
reqs.txt
使用当前安装的软件包列表调用的需求文件pip freeze > reqs.txt
Run Code Online (Sandbox Code Playgroud)
reqs.txt
# -y means remove the package without prompting for confirmation
pip uninstall -y -r reqs.txt
Run Code Online (Sandbox Code Playgroud)
我喜欢这种方法,因为如果你犯了错误,你总是有一个 pip 需求文件可以依靠。它也是可重复的,并且是跨平台的(Windows、Linux、MacOs)。
Sat*_*hia 28
从虚拟环境中删除所有包的最佳方法。
pip freeze > unins ; pip uninstall -y -r unins ; del unins
Run Code Online (Sandbox Code Playgroud)
pip freeze > unins && pip uninstall -y -r unins && del unins
Run Code Online (Sandbox Code Playgroud)
pip3 freeze > unins ; pip3 uninstall -y -r unins ; rm unins
Run Code Online (Sandbox Code Playgroud)
Ned*_*der 20
最快的方法是完全重塑virtualenv.我假设你有一个匹配生产的requirements.txt文件,如果没有:
# On production:
pip freeze > reqs.txt
# On your machine:
rm $VIRTUALENV_DIRECTORY
mkdir $VIRTUALENV_DIRECTORY
pip install -r reqs.txt
Run Code Online (Sandbox Code Playgroud)
Dea*_*ean 20
我使用 --user 选项卸载用户站点中安装的所有软件包。
pip3 freeze --user | xargs pip3 uninstall -y
Run Code Online (Sandbox Code Playgroud)
Ric*_*ior 16
在Windows上,如果path
配置正确,您可以使用:
pip freeze > unins && pip uninstall -y -r unins && del unins
Run Code Online (Sandbox Code Playgroud)
对于类Unix系统应该是类似的情况:
pip freeze > unins && pip uninstall -y -r unins && rm unins
Run Code Online (Sandbox Code Playgroud)
只是警告说这不是完全可靠的,因为你可能遇到诸如"找不到文件"之类的问题,但它仍然可以在某些情况下起作用
编辑:为清楚起见:unins
是一个任意文件,在执行此命令时会向其写入数据:pip freeze > unins
然后,通过默认同意/事先批准,将依次写入的文件用于卸载上述软件包 pip uninstall -y -r unins
该文件最终在完成时被删除.
小智 14
使用virtualenvwrapper函数:
wipeenv
Run Code Online (Sandbox Code Playgroud)
请参阅wipeenv文档
sha*_*fik 13
首先,将所有软件包添加到 requirements.txt
pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)
然后删除所有
pip uninstall -y -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
Sat*_*hia 11
从虚拟环境中删除所有软件包的最佳方法
Windows环境使用以下命令:
pip freeze > unins && pip uninstall -y -r unins && del unins
Run Code Online (Sandbox Code Playgroud)
Linux 环境使用以下命令:
pip freeze > unins && pip uninstall -y -r unins && rm unins
Run Code Online (Sandbox Code Playgroud)
You*_*ode 10
pip uninstall `pip freeze --user`
Run Code Online (Sandbox Code Playgroud)
该--user
选项可防止系统安装的软件包包含在列表中,从而避免/usr/lib
权限distutils
错误。
我知道这是一个老问题,但是我确实偶然发现了这个问题,以便将来参考,您现在可以这样做:
pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...
Run Code Online (Sandbox Code Playgroud)
-r,-要求文件
卸载给定需求文件中列出的所有软件包。此选项可以多次使用。
从pip文档版本8.1
小智 7
对于Windows用户,这是我在Windows PowerShell上使用的
pip uninstall -y (pip freeze)
Run Code Online (Sandbox Code Playgroud)
pip3 freeze --local | xargs pip3 uninstall -y
Run Code Online (Sandbox Code Playgroud)
情况可能是必须多次运行此命令才能获得空的pip3 freeze --local
.
(将此添加为答案,因为我没有足够的声誉来评论@blueberryfields的答案)
@blueberryfields的答案很好用,但如果没有要卸载的软件包则失败(如果此“全部卸载”是脚本或makefile的一部分,则可能是一个问题)。这可以通过xargs -r
使用GNU版本的来解决xargs
:
pip freeze --exclude-editable | xargs -r pip uninstall -y
Run Code Online (Sandbox Code Playgroud)
来自man xargs
:
-r,--no-run-if-empty
如果标准输入不包含任何非空格,请不要运行该命令。通常,即使没有输入,命令也会运行一次。此选项是GNU扩展。
归档时间: |
|
查看次数: |
353754 次 |
最近记录: |