有没有一种好方法来清理散布着软件包的旧 conda 基础环境?

问题描述 投票:0回答:1

询问我们这些长期使用 python 和 conda 的人,当我们第一次学习时,在基础环境中安装了一堆软件包,现在想要清理一些东西,以获得一个空的基础环境,也许无非就是 numpy 和 matplotlib。

理想的解决方案实际上会完全清除基础环境,但保留其他环境。

一些解决方案提到了

conda install --revision 0
,但是当我使用
conda list --revisions
查看我过去的修订时,我看到列出了大量的软件包。我可以使用
conda list
确认至少其中一些软件包是使用默认 conda 通道安装的,并且自修订版 0 以来尚未更新。

我还编写了一个 bash 脚本(后来我丢失了),它遍历并卸载了每个包。但这相当笨拙。

还有其他建议来实现空白基础环境吗?

python package conda environment radix
1个回答
0
投票

一种方法是使用带有

conda env update
标志的
--prune
命令。也就是说,专门使用最小的 YAML:

conda-base.yaml

dependencies:
  - conda
  - python=3.10  # specify the version you want

并运行(激活base!):

conda activate base
conda env update -f conda-base.yaml --prune -v

假设,应该删除除运行所需的所有内容

conda
。然而,实际上,当我在 Anaconda base 上使用时,我会看到奇怪的东西。具体来说,我发现 BLAS 和一些 Python 库(NumPy、SciPy)毫无明显原因地继续存在。但它应该转储大部分不必要的东西。

补充说明

我使用

-n base
的行为不可靠(没有激活 base),因此我建议从激活的 base 开始工作。就我个人而言,我还包括 Conda 开发工具(
anaconda-client
conda-build
conda-smithy
等),这给我在 v3.10 以上的 Python 方面带来了一些问题,这就是为什么我将其作为建议保留在 base 中。实际上,无论如何,人们都不应该在 base 解释器中运行自己的代码,因此希望这有助于抑制在 base 中积极升级 Python 的冲动。

© www.soinside.com 2019 - 2024. All rights reserved.