custom_channels,default_channels和channels有什么不同?

custom_channelsdefault_channelschannels都是.condarc文件中用于配置软件包源的选项,但它们之间有一些不同。

custom_channels是一个字典,其中包含了自定义软件包源的名称和URL。当你运行conda install等命令时,如果指定了自定义软件包源的名称,conda会使用custom_channels中列出的对应URL进行搜索。需要注意的是,如果你在命令行中指定了软件包源,conda会优先使用指定的软件包源,而不是custom_channels中列出的软件包源。

default_channels是一个列表,其中包含了conda搜索软件包时需要使用的默认软件包源。当你运行conda install等命令时,如果没有指定软件包源,conda会使用default_channels中列出的软件包源进行搜索。和custom_channels不同的是,default_channels中列出的软件包源是conda内置的、预定义的软件包源。

channels也是一个列表,其中包含了conda搜索软件包时需要使用的软件包源。和default_channels不同的是,channels列出的软件包源会覆盖default_channels中列出的软件包源。当你运行conda install等命令时,如果指定了软件包源,conda会使用channels中列出的软件包源进行搜索。

例如,如果你在.condarc文件中设置了以下内容:

custom_channels:
  mychannel: https://mychannel.example.com/
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/

那么,当你运行conda install some_package -c mychannel命令时,conda会使用custom_channels中列出的mychannel软件包源进行搜索。如果你运行conda install some_package命令,conda会按照以下顺序搜索软件包:

  1. https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  2. https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  3. https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

在这个例子中,custom_channels中列出的软件包源会在default_channelschannels列出的软件包源之前进行搜索。

需要注意的是,custom_channelsdefault_channelschannels都可以包含多个软件包源,并且软件包源的顺序会影响conda搜索软件包的顺序。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容