Conda配置中channels项的default与defaults是否存在差异?
Conda environment.yml 中 channels 配置 default 和 defaults 的差异
二者不是同义词,存在明确的生效逻辑差异:
defaults是Conda官方认可的内置默认通道集合别名,属于正确配置项,填写后会自动加载你本地Conda配置中预设的所有官方默认通道(通常包含main、conda-forge、r等官方维护的通道)。- 不带s的
default不属于Conda内置的有效通道别名,属于无效配置:Conda解析yml文件时遇到未识别的通道名不会主动报错,只会直接跳过该条配置,实际效果等同于你没有填写这条通道规则,如果仅配置default作为唯一通道,最终效果接近未指定任何自定义通道,会出现找不到依赖包等异常。
两种配置的代码示例
无效配置
channels: - default
正确配置
channels: - defaults
实测中仅填写
default作为通道时,Conda不会加载任何默认官方通道,仅能从本地缓存、或你额外配置的其他自定义通道拉取包,和defaults的生效效果完全不同。
内容的提问来源于stack exchange,提问作者Roman
相关产品推荐
相关产品推荐

