协慌网

登录 贡献 社区

删除 pip 安装的所有软件包的最简单方法是什么?

我正在尝试修复我的 virtualenv 之一 - 我想将所有已安装的库重置为与生产相匹配的库。

有没有一种快速简便的方法可以通过 pip 做到这一点?

答案

我已找到此代码段作为替代解决方案。与重建 virtualenv 相比,这是对库的更优雅的删除:

pip freeze | xargs pip uninstall -y

如果您通过 VCS 安装了软件包,则需要排除这些行并手动删除软件包(从下面的注释中升高):

pip freeze | grep -v "^-e" | xargs pip uninstall -y

这将适用于所有 Mac,Windows 和 Linux 系统。要在 requirements.txt 文件中获取所有 pip 包的列表(注意:如果存在,它将覆盖 requirements.txt,否则将创建新的 pip 包,如果您不想替换旧的 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)

这适用于最新版本。我认为这是最短,最具说明性的方法。

virtualenv --clear MYENV

但是通常由于不变性规则,我只是删除并重新创建 virtualenv!