如何在Ubuntu中清理所有用户安装的系统级Python包?
这将适用于所有Mac、Windows和Linux系统。
获取requirements.txt文件中所有pip软件包的列表(注意:如果存在,则会覆盖requirements.txt,否则将创建新文件,还可以在以下所有命令中提供不同的文件名以代替requirements.txt,如果不想替换旧的requirements.txt)。
pip freeze > requirements.txt
现在开始逐个删除。
pip uninstall -r requirements.txt
如果我们想一次删除所有。
pip uninstall -r requirements.txt -y
如果您正在处理具有requirements.txt文件的现有项目,并且您的环境已经分歧,请简单地将上面的示例中的requirements.txt替换为toberemoved.txt。然后,在完成上述步骤后,您可以使用requirements.txt来更新现在干净的环境。
对于单个命令而言,无需创建任何文件(正如@joeb所建议的那样)。
pip uninstall -y -r <(pip freeze)
我发现这个片段作为一种替代方案。这是一个比重做虚拟环境更为优雅的库删除方案:
pip freeze | xargs pip uninstall -y
如果您已经通过VCS安装了软件包,则需要排除这些行并手动删除软件包(从下面的评论中升级):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
如果您直接从github/gitlab安装软件包,则会有@
.
像这样:
django @ git+https://github.com/django.git@
您可以添加cut -d "@" -f1
来获取只需要卸载软件包的名称。
pip freeze | cut -d "@" -f1 | xargs pip uninstall -y