我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
选择要从此文件夹删除的库:
C:\Users\User\AppData\Local\Programs\Python\Python310\Lib\网站
其他回答
这将适用于所有的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)
就我而言,我意外地在macOS上使用homebrew安装的pip在全球范围内安装了许多软件包。恢复到默认包的最简单方法是:
$ brew reinstall python
或者,如果你使用pip3:
$ brew reinstall python3
pip3 freeze --local | xargs pip3 uninstall -y
情况可能是必须多次运行此命令才能获得空pip3 freeze—local。
Pip无法知道它安装了哪些包,系统的包管理器安装了哪些包。为此,您需要这样做
对于基于rpm的发行版(将python2.7替换为安装PIP的python版本):
find /usr/lib/python2.7/ |while read f; do
if ! rpm -qf "$f" &> /dev/null; then
echo "$f"
fi
done |xargs rm -fr
对于基于deb的发行版:
find /usr/lib/python2.7/ |while read f; do
if ! dpkg-query -S "$f" &> /dev/null; then
echo "$f"
fi
done |xargs rm -fr
然后清理剩下的空目录:
find /usr/lib/python2.7 -type d -empty |xargs rm -fr
我发现上面的答案非常误导人,因为它会从你的发行版中删除所有(大部分?)python包,可能会给你留下一个坏掉的系统。
这适用于最新版本。我认为这是最简洁明了的表达方式。
virtualenv --clear MYENV
但是为什么不直接删除并重新创建virtualenv呢?
不变性规则。此外,很难记住所有的管道和其他解决方案使用。