【2022年3月全网原文首发,转载请注明出处,谢谢!!】
conda替换镜像源教程
Conda错误提示:PackagesNotFoundError: The following packages are not available from current channels:
由于国内访问conda官网很慢,离线安装又费时费力,因此,替换国内源是一个极佳的办法。
但是,目前国内源的替换教程过于老旧,都是2018-2022年的方法,尽管替换镜像源的方法不变,但是网上的资料中,很多镜像源都失效了,没有一个教程能够告诉大家如何去找自己的镜像源并添加进去。
本教程出于此目的,保证大家以后添加的镜像源时效性强。(最近更新时间2023.2.05)
1.镜像源添加方法
首先是一些常用命令,帮你诊断目前你的conda源的情况,如果是新装的conda,可以不用管。
第一步:查看并还原默认镜像源
# 首先,看一下目前conda源都有哪些内容
conda info
# 然后,删除并恢复默认的conda源
conda config --remove-key channels
下面是几个常用命令:后面会用到,这里不用管
# 添加指定源
conda config --add channels *(*指代你要添加的源)
# 设置安装包时,显示镜像来源,建议显示
conda config --set show_channel_urls yes
# 删除指定源
conda config --remove channels *(*代表你要删除的源)
2.如何找到你要用的源
首先,我们进入国内几家镜像源的网站(这里以清华园为例,基本上可以涵盖所有镜像)
1清华镜像源 一般够用 :https://mirrors.tuna.tsinghua.edu.cn/
2中科大源https://mirrors.ustc.edu.cn/
3常用的其他源汇总链接
进入后搜索你需要的源:
假设我要获得conda中与pytorch相关的镜像:先搜索anaconda,搜索到后,点进去
然后进入cloud中,找到你需要的包,点进去,这里以pytorch为例(其他的包方法相同)
到了“pytorch/”这个目录下,你就可以看到,子目录的内容会区分系统了,此时,复制浏览器的地址栏如下:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
然后,利用1中的方法,将上面复制的地址(也就是源)添加到conda当中,conda会自动识别系统版本并匹配上。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
下面是添加过程和结果:
3.快速上手
为了方便大家快速添加,我们把conda自身默认的镜像源的替换代码,写好放在这里,方便大家直接替换使用,大家逐条复制添加即可,下述链接更新时间为2022.3.10,可以通过前面的方法先判断一下镜像源对不对:
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/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
4.镜像源网站目录命名的含义
我们这里补充解释一下,上述几个文件夹的含义:
archive # 是anaconda软件历史版本存档,用不到
miniconda # 是mini anaconda历史版本存档,用不到
Parent directory/ # 是返回上级目录
failed_packages.txt #是失效包列表
cloud # 里面就是目前可用的全部的包,包括torch、paddle等等常用的工具包
pkgs # PKGS的概念:
在anaconda中,最安全的安装和升级命令是conda install XXX,而python中是pip,但在anaconda下依然可以使用pip升级,这样一些依赖可能会因为更新后的版本过高出现异常。
在conda的设计中,目录'pkgs'是下载、存放缓存,以及提取下载的conda包的地方。同时,anaconda一起携带的包也会放在这里。
它有一个非常关键的作用:我们在构建一些envs的时候,对一些包的依赖会通过硬盘链接链接到pkgs目录,这样虚拟环境生成的速度大大加快,占用空间就大大减小了!!!
文章出处登录后可见!