gpt4 book ai didi

python - conda:从基本/根环境中删除所有已安装的包

转载 作者:太空狗 更新时间:2023-10-29 17:18:05 26 4
gpt4 key购买 nike

TL:DR:如何从 base 中删除所有已安装的包?

我在 base conda 环境中安装了一堆机器学习包。

我现在已经为机器学习创建了一个 ml 环境,并希望通过删除那里安装的所有包来重置我的 base 环境。

我试过:

% activate base
% conda uninstall -n base --all

CondaEnvironmentError: cannot remove current environment. deactivate and run conda remove again

显然,我无法从当前环境中删除包(?!),所以让我们先切换到我的 ml 环境:

% source activate ml
% conda uninstall -n base --all

CondaEnvironmentError: cannot remove root environment,
add -n NAME or -p PREFIX option

或者,我将使用 -p 然后...

% conda uninstall -p ~/.local/share/miniconda3 --all

CondaEnvironmentError: cannot remove root environment,
add -n NAME or -p PREFIX option

如何在 baseroot 环境中卸载所有已安装的软件包?

最佳答案

Apparently, I can't remove packages from the current environment(?!)

不是那样,而是您不能删除 base 环境,这是 --all 标志的作用。您无法卸载 base 中的所有 包,因为那里是 conda 可执行文件所在的位置。相反,您要做的是卸载所有用户安装的软件包。

完全还原(不推荐)

执行此操作的一种方法是在安装任何其他软件包之前将您的环境恢复到原始状态:

# Not generally recommended!
conda install --revision 0

请注意,多个用户报告说这破坏了他们的 Conda 安装。我绝对不会在您已经拥有很长时间或有很多修订的安装上运行它。

最重要的是:始终在基础环境中审查提议的交易!这是 Conda 所在的地方,不幸的是,防止破坏安装的保护措施并不全面。

如果你真的想要一个干净的开始,那么将你的环境导出到 YAML 并重新安装一个新的 Miniconda。

部分还原

您还可以寻找其他以前的状态,这些状态可能不太像是回归,但仍然可以摆脱您认为不必要地积累的任何包。

conda list -n base -r

最后,您可能希望立即升级 conda,因为它还会还原对基础包的任何更新。


错误,我的天!

虽然上面是正确的还原方法,但我遇到了错误:

CondaRevisionError: Cannot revert to 0, since ::contextlib2-0.5.3-py35_0 is not in repodata.

顺便说一句,这让我很担心,因为它似乎表明我两年前的 Conda 环境状态不再能从上游 channel 的状态中重现。

在这种情况下,除了将所有修订版 0 软件包与您当前的安装进行比较然后卸载差异之外,我不知道有什么干净的方法可以解决这个问题。但同样,全新安装 Miniconda 似乎是更好的解决方案。

一般来说,我发现将 envs 视为不可变的并尽可能少地在 base 中安装是使用 Conda 最安全可靠的方法。

关于python - conda:从基本/根环境中删除所有已安装的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52830307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com