由于Conda默认的下载源远在海外,因此如果处在特定区域内,使用conda进行python包的安装时速度会非常慢,这个时候就需要从国内镜像源进行下载。本文将先介绍如何对Anaconda配置镜像源,然后再介绍常见的镜像源网址。
声明:本教程以实践为主,理论为辅。本教程需要的基础:会安装并简单使用Anaconda。
1. Anaconda配置镜像源相关操作
1.1. 查询镜像源
conda config --show-sources # 显示配置所有来源
conda config --get channels # 专门获取频道
第一个命令显示当前 Conda 配置的所有来源,包括各个配置项是如何被设置的,以及这些设置是来自于哪些文件(比如全局配置文件、用户配置文件等)。 我们可以看到所有配置项及其来源,包括在 ~/.condarc 文件中定义的内容、系统级配置、环境变量等。第二个命令专门用于获取当前配置中设置的频道,即我们所指的下载源,默认是没有手动添加的其他频道的。
在频道获取结果中,我们可以看到各个源的优先级,结果如下。注意,最新添加的镜像源拥有最高的优先级。
--add channels 'defaults' # lowest priority
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge'
--add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/' # highest priority
1.2. 添加和删除镜像源
conda config --add channels [替换为具体的频道网址]
conda config --remove channels [需要删除掉的镜像源网址]
可以通过以上格式添加或删除镜像源。例如添加清华镜像源其中一个网址,则可以输入:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
1.3. 恢复初始镜像源
conda config --remove-key channels
利用上述指令可以将conda的镜像源恢复成初始状态,即没有添加过镜像源的状态。
1.4. 显示包的来源地址
conda config --set show_channel_urls yes
通过显示包的URL,用户可以更清楚地知道所安装或搜索的包是来自哪个镜像源。这对于调试和确认包的安全性及可靠性非常重要,尤其是在有多个镜像源的情况下。例如,在安装TensorFlow时,你就可以得知你使用的是默认源还是替换过的国内镜像源。
2. 国内常用镜像源配置
2.1. 添加国内镜像源
知道Anaconda如何添加镜像源后,我们就可以添加一些常见的国内镜像源了。以下列出的是常见的镜像源网址。我在所有网址前都增加了conda指令,可以直接复制使用。
值得一提的是,现在许多镜像源都停止服务了,比如说中科大的。所以如果某个镜像源安装失败,可以尝试换源,或者尝试在cmd终端使用代理,用conda的默认源进行下载 (这是最好的)。
# 清华镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 中科大镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
# 上海交大镜像源
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
# 北外镜像源
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
2.2. 查找国内镜像源
上述列出的镜像源也并不全面,我们可以直接通过这些镜像源的官网查看有哪些网址可以使用,像 main,free,conda-forge 这些都是比较常用的,但还有些其他的可以自行去官网查找。
以清华镜像源为例,我们可以在镜像列表搜索anaconda,然后点击进去查看地址。
如下图所示,事实上我们刚刚添加的镜像源网址是与里面的文件架构是一致的。我们可以进入到我们需要的文件夹之后,直接复制网址栏的内容作为我们的频道网址。
3. 实践举例
以下是我通过清华镜像源下载GPU版本的PyTorch 2.4.0 所需要的命令行内容,事实上,除了添加了镜像源以外,其他的指令都是一样的。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.4 -c pytorch -c nvidia