Python:如何从默认频道中删除所有软件包?

时间:2019-05-21 20:48:37

标签: python conda

我犯了一些错误,我只保留通过conda-forge安装的软件包,而删除defaults的软件包。我该怎么办?

2 个答案:

答案 0 :(得分:2)

撤消安装

  

我犯了一些错误

如果是最新安装,请使用修订版本进行回滚。找到您要回滚的修订版本:

conda list --revisions
# let's say 'n' is the one

然后执行更改:

conda install --revision n

迁移所有现有

如果您只想从conda-forge重新安装所有现有的软件包,则可以通过运行来完成

conda install -c conda-forge --override-channels --file <(conda list)

在您激活的环境中。


无需重新安装就删除所有defaults

这稍微复杂一点,但可以通过获取专门来自defaults的软件包列表,然后仅删除它们来完成。可以使用以下命令(有些复杂)完成此操作

conda remove $(conda list --show-channel-urls | awk -F' ' '{if ($0 ~ /defaults/) {print $1}}')

这里,$(...)之间的所有内容都是生成专门来自defaults通道的软件包列表,然后将其传递到remove命令。在这里,您需要awk

答案 1 :(得分:0)

conda remove从指定的conda环境中删除软件包列表。

选项:

usage: conda remove [-h] [-n ENVIRONMENT | -p PATH] [-c CHANNEL] [--use-local]
                    [--override-channels] [--repodata-fn REPODATA_FN] [--all]
                    [--features] [--force-remove] [--no-pin] [--prune] [-C]
                    [-k] [--offline] [-d] [--json] [-q] [-v] [-y] [--dev]
                    [package_name [package_name ...]]

--all删除所有软件包conda remove -n env --all

要删除诸如SciPy之类的特定程序包

  • 在myenv之类的环境中

    conda remove -n myenv scipy

  • 当前环境中:

    conda remove scipy

要立即删除多个软件包,例如SciPy和cURL:

conda remove scipy curl

要确认,已删除软件包:

conda list