Conda 是一个开源的包管理和环境管理系统,广泛用于数据科学和机器学习领域。为了提高包下载速度和稳定性,特别是在网络条件不佳的情况下,可以配置镜像源。镜像源是原始源的复制,通常位于不同的地理位置,以提高下载速度和可靠性。
常用源
镜像源
# 清华大学 TUNA 镜像源
https://mirrors.tuna.tsinghua.edu.cn/anaconda/
# 中科大 USTC 镜像源
https://mirrors.ustc.edu.cn/anaconda/
defaults 通道
defaults
是由 Anaconda 官方维护的一个综合性源,具体组成可查看官网文档,也有中文版文档。其包含了多个子源:
- main:主通道,包含大多数的包,默认通道列表中的最高优先级通道。
- r:专门用于R语言相关的包。
- msys2:包含了一些Windows平台相关的包。
- free:免费通道(从 conda 4.7 开始已从默认通道中删除)。
conda-forge 通道
conda-forge
是由开源社区维护的通道,包含许多 defaults 通道中没有的包,更新和维护速度通常比 defaults 快。主要网址是 https://conda.anaconda.org/conda-forge
在 anaconda.org 也有许多其他软件包通道。
配置源
可以通过编辑 .condarc 文件或使用 conda config 命令来添加镜像源
方式一:编辑 .condarc 文件
打开 .condarc 文件,输入以下示例内容即可添加源:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- defaults
channel_priority: flexible
排在前面的源优先级高,根据自己需求选择 flexible 还是 strict。
- strict:严格模式,Conda 只会从第一个找到包的源中安装所有依赖项,避免混合使用不同源中的包。
- flexible:灵活模式,Conda 会优先从高优先级的源中查找包,但如果某个包在高优先级的源中不存在,Conda 会从低优先级的源中查找并安装该包。
方式二:使用 conda config 命令
可以使用 conda config 命令来添加
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/ # R语言
# conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ # 用于windows
设置通道优先级
conda config --set channel_priority flexible # 或者 strict
删除源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
查看当前配置
conda config --show channels