如何在服务器或本地用命令行配置Anaconda或Miniconda的channels
这是第n次配服务器环境了,每次都去翻收藏怪麻烦,在这里直接也亲手写一份总结,主要是自己查起来方便,也给大家提供一个比较全面的方案。通常Channels配置这个需求的诞生,都是在服务器或者本地刚刚安装了Anaconda或者Miniconda的前提下诞生的,由于原始的defaults channels实在是太难用了,所以我们迫切的想换上清华的镜像来提速环境配置过程。这里不再赘述如何在Linux或者Windows安装Anaconda的步骤(2021-10-27追加了这个部分在文末)。总之,本文默认你已经到达这一步了:(也就是如下图,C:\或者你的服务器的root\home\前面已经写着(base)了 - 表示Conda已安装并且环境变量刷新过了)

配置四个基本channels
然后就可以开始配置设置步骤了,执行命令:将以下的四条channels添加进Anaconda(或安在Linux服务器上的Miniconda)Config里。
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.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
在这里注意,如果是在本地配置,那么你复制我的这一段代码就可以了,直接粘贴,然后再按一下回车就可以(其实粘贴过来就相当于写入了三次,最后再按一下回车是为了把第四行也写入Config)
特别注意,第三行conda-forge后面没有反斜杠,我没漏写!加上反斜杠反而什么都找不到,踩过坑,谨慎别画蛇添足!
但是,如果你要在Linux服务器的Miniconda上配置Channels,那可能由于你用的SSH工具限制,无法直接粘贴多行,或根本无法粘贴,就需要你一行一行的输入了,注意输入千万不能有任何错误,否则会导致包还是下载不了。(如果你不巧输入错误了,也没关系,下一部分就是补救方案)
*配错了的补救方案:
如果你写错了channels的话,同时又不知道是错写成了什么样子(或者你配好了但还是很慢,一样可以用这个方法自检),那么首先执行:
conda config --show
然后,conda会烦会议对你的配置信息,在这对信息里应该可以轻易地找到channels的部分:(比如笔者正确配置的channels就如下图所示)

此时,你就可以看看自己配置的写的对不对了,一个符号都不能错。如果你发现了错误并且想删除掉自己配错的这个怎么办呢?只需执行:
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
比如上面这一行就是我删除其中一个channels的写法,如果你错写了某一个channels,那就先把但因毫厘的部分替换成自己写错的部分,把它remove掉,再重新按照刚才的添加过程进行添加。
通常情况下的必要后续操作
当我们配置完上面的4行之后,4个新的channels就添加到你的conda里了。但是我们原先还有一个defaults的channels在,而且它是排在第一位的,如果我们不删掉它,那么所有包还是会先从defaults里面查找,会花费大量的时间,而且还有可能下不下来。所以必须删除defaults,才能用上刚配好的清华源。只需要执行下面的代码就可以:
conda config --remove channels defaults
当完成以上操作后,输入conda config --show去查看channels那一部分应该只有刚刚配好的四个通道了,这时配置工作就基本结束了,然后就可以去建立虚拟环境,并通过conda install + 包名的方法,向虚拟环境中安装你想用的包了。不过,如果你是PyTorch的使用者,那么还没完,你还差一个channels。
*Pytorch额外需要添加的channel
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
*其他可能遇到的奇怪需求
如果你有的包在conda channels这边版本号太高,需要降低版本,或者搜不到对应版本,但是又确实需要。你依然可以使用原始的pip方式去执行安装,但是不能像往常一样直接在虚拟环境的命令行写pip install(如果你这么写,你会把包安装到conda虚拟环境以外的地方),取而代之的,你需要在前面加上python -m,然后再如下写:(例如笔者可以用下面这句话去使用pip安装tensorflow,当然最好是你已经配置过pip的清华镜像源,否则pip下载的也很慢。)
python -m pip install tensorflow==1.15
目前能想到的都写在这了,希望能帮到大家,如果还有什么再配置过程遇到的需求欢迎私信,我如果解决了会更新在后面。如果你需要学习pip的更多配置方法可以参考我的另一篇文章【持续更新】多种方案解决原生Python中pip下载慢的问题(一份比较全的pip设置入门教程)_JinyuZ1996的博客-优快云博客
如何删除之前积攒的conda内库的安装包和缓存(2020-1-15更新)
加上一个新的需求,有的同学可能希望配完环境之后删除之前conda通过channel下载的包的安装包缓存,来减少Anaconda的物理内存体积:
conda clean -p //删除没有用到的包,即没有任何一个env使用的包(少量释放硬盘空间)
conda clean -y --all //删除所有env内以及base环境下的安装包及cache(大量释放硬盘空间)
有读者问我这样会不会删除配好的虚拟环境内的包,其实是不会的,这只不过就是把你刚才安装到虚拟环境里的那些库的安装包给删掉了,但是你装好的库不可能动。
不放心,可以先conda activate +你担心的虚拟环境名 ,然后执行conda list 看看库少没少就行了。反正笔者经过试验,没有问题。
如何在服务器上安装Miniconda3(2021-10-27更新)
再追加一个从师弟师妹那里听来的需求,假设第一次在服务器上配环境如果只能使用命令行操作的话,该如何安装Miniconda呢。其实非常简单,首先通过文件传输系统,比如Xftp将安装包上传到服务器文件目录下,在命令行窗口使用cd命令找到安装包所在位置,执行下列代码:
bash Miniconda3-latest-Linux-x86_64.sh
此时就会开始安装,起初会出现用户协议,只需一只按回车,直到出现一个确认页面输入y然后一直下一步就可以安装好了。但是安装完成后仍然没有结束,当全部安装完毕后,还需要执行以下这一行命令:
source ~/.bashrc
这是因为安装结束后需要刷新一下环境变量,才能进入(base)的conda环境。当显示出本文图1所示的命令行界面,则恭喜你安装成功了。