Anaconda 从Conda中的特定通道中删除所有包

Anaconda 从Conda中的特定通道中删除所有包,anaconda,conda,Anaconda,Conda,当使用Conda时,我倾向于安装许多来自不同来源的软件包。事实证明,存在着超级不兼容。我想删除所有不是来自默认值或conda forge频道的软件包我如何才能做到这一点? 我意识到一种可能的解决方案是进行完整的重新安装,但最好采用替代方案。重新创建导出的环境 如果您仍然希望安装包,并且至少尝试从受信任的通道安装包,一种解决方案是导出env,删除不需要的通道,然后尝试仅使用您想要的通道重新创建 要出口有关环境保护 conda env export -n your_env --file env.ya

当使用Conda时,我倾向于安装许多来自不同来源的软件包。事实证明,存在着超级不兼容。我想删除所有不是来自默认值conda forge频道的软件包我如何才能做到这一点?

我意识到一种可能的解决方案是进行完整的重新安装,但最好采用替代方案。

重新创建导出的环境 如果您仍然希望安装包,并且至少尝试从受信任的通道安装包,一种解决方案是导出env,删除不需要的通道,然后尝试仅使用您想要的通道重新创建

要出口有关环境保护

conda env export -n your_env --file env.yaml
如果要从一开始就排除所有频道信息,可以包括
--ignore channels
标志。但是,由于听起来您只想排除特定通道,因此只需编辑env.yaml文件,即可从yaml的通道部分删除这些特定通道

您可能还需要包括一个
--no builds
标志,以便跨具有不同构建配置的通道识别包

在获得您满意的环境YAML后,可以使用以下工具重新创建环境:

conda env create -f env.yaml
如果要强制安装在上一个上一个上,可以使用
--force
标志。或者,采取更保守的路线,为env提供一个新名称(例如,
-n your_env2

如果某些包在您信任的特定通道中不可用,您可能必须从YAML文件中删除它们。首先,删除这些软件包上的一些版本要求可能是值得的,只是为了看看是否还有其他的版本