我已找到此代码段作为替代解决方案。与重建 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!