最新版conda有多线程下载,还做了一些其它易用性改动,所以决定从很老的4.12版本升级到最新版。因为版本差别过大,使用自带的conda update conda已经不起作用了。
手动升级最先想到的是把老环境全部导出为yaml文件,在新环境里全部重装一遍,但这样觉得有点麻烦,于是决定尝试用手动操作文件的方式来升级,过程如下:

  1. 下载最新版miniconda(也可以是最新版anaconda),先安装到与旧版conda不同的目录。
  2. 从旧版conda下面把envs里的文件夹全部拷贝到新版conda目录下面的envs文件夹。
  3. 不用官方的conda install anaconda-clean等命令卸载旧版conda,而是直接rm -rf删除旧版conda目录。
  4. 打开.bashrc和.bash_profile文件,把里面的conda旧路径替换为新路径。当然也可以把新路径mv到旧路径。
  5. 重开一个shell或者source .bashrc和.bash_profile,发现conda已经成功升级到最新版。
  6. 注意:如果是R环境,需要conda install -c conda-forge r-base重装一下r-base,否则Rscript用不了,而且Rscript是二进制的,没法修改。

总结:Linux下面一切皆文件,无需拘泥于各种官方命令,手动修改文件也能达成目的。