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

有没有一种快速简单的方法来处理皮普?


当前回答

这将适用于所有的Mac, Windows和Linux系统。 要在requirements.txt文件中获取所有pip包的列表(注意:如果requirements.txt存在,这将覆盖requirements.txt,否则将创建一个新的,如果你不想替换旧的requirements.txt,那么在all following命令中在place requirements.txt中输入不同的文件名)。

pip freeze > requirements.txt

现在逐个移除

pip uninstall -r requirements.txt

如果我们想一次性全部移除

pip uninstall -r requirements.txt -y

如果您正在一个已有的项目中工作,该项目有一个requirements.txt文件,而您的环境已经发生了分歧,只需将上面示例中的requirements.txt替换为tobermoved .txt即可。然后,一旦您完成了上面的步骤,您就可以使用requirements.txt来更新您现在干净的环境。

对于单个命令,而不创建任何文件(正如@joeb建议的那样)。

pip uninstall -y -r <(pip freeze)

其他回答

这是对我有用的命令:

pip list | awk '{print $1}' | xargs pip uninstall -y

我知道这是一个老问题,但我确实偶然发现了它,所以作为将来的参考,你现在可以这样做:

pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...

-r,——需求文件 卸载给定需求文件中列出的所有包。此选项可多次使用。

来自PIP文档8.1版

这是我卸载所有python包的最简单的方法。

from pip import get_installed_distributions
from os import system
for i in get_installed_distributions():
    system("pip3 uninstall {} -y -q".format(i.key))

在Windows的命令Shell中,pip freeze | xargs pip uninstall -y命令不起作用。所以对于那些使用Windows的人,我想出了另一种方法。

将pip freeze命令中所有已安装的pip包的名称复制到一个.txt文件中。 然后,找到。txt文件所在的位置,运行pip uninstall -r *textfile.txt*命令

首先,将所有包添加到requirements.txt中

pip freeze > requirements.txt

然后移除所有

pip uninstall -y -r requirements.txt