Anaconda 的迁移

Transfering Anaconda

Posted by J Leaves on January 14, 2020

conda 虚拟环境迁移指南

(见 Moving Conda Environments - Anaconda

将 Anaconda 文件夹迁移到其他目录,即使更改了环境变量,许多功能仍无法正常使用。(亲测)

正确的迁移方法如下:conda

Spec List 方法(同机器迁移安装目录推荐)

Spec List 会不仅生成库名和版本号,还会直接指定编译后文件的下载地址,因此仅适用于同机器(或配置完全相同的机器)迁移目录

  1. 在旧目录的 Anaconda Prompt 中,输入

    1
    
    conda list --explicit > spec-list.txt
    

    Windows 系统下,会在用户目录 C:\Users\\ 下生成 spec-list 文件

  2. 卸载 Anaconda

  3. 在新路径重新安装 Anaconda

  4. 在新的 Anaconda Prompt 中,输入

    1
    
    conda create  --name new-env-name --file spec-list.txt
    

    其中 new-env-name 换成你想新建的虚拟环境的名称,等待安装完成。 注:若需要导入默认的基环境,命令改为

    1
    
    conda install --name base --file spec-list.txt
    
  5. 打开 Anaconda Navigator,切换到 environment 选项卡,可以看到原来的运行环境都回来了。若某些包检测不到更新,手动点击 Update Index。

YAML 方法

可能不支持向基环境 base 导入,但因为仅包含库名和版本号,可适用于在不同机器间复制完全相同的环境

  1. 在旧目录的 Anaconda Prompt 中,输入

    1
    
    conda env export > environment.yml
    

    Windows 系统下,会在用户目录 C:\Users\\ 下生成 environment.yml 文件

  2. 卸载 Anaconda

  3. 在新路径或新机器上重新安装 Anaconda

  4. 拷贝 environment.yml 到用户目录,在新的 Anaconda Prompt 中,输入

    1
    
    conda env create -f environment.yml
    

    等待执行完成