如何复制conda的虚拟环境(实现环境迁移)

时间:2025-04-28 15:47:01

主要参考:https://it./php/

方法1
进入当前环境,例如我的虚拟环境名字为py3.10:

conda activate py3.10

把当前环境的配置保存在文件中:

conda env export > environment.yaml

文件的样子长这样:(这里我是拿的一个别人的.yaml文件进行了简化和忽略,他的虚拟环境名字是NLU,存储位置在最后的prefix所指示的位置)

name: NLU
channels:
  - pytorch
  - nvidia
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=4.5=1_gnu
  - pip:
    - scikit-learn==0.24.2
    - scipy==1.7.0
    - wrapt==1.12.1
    - azureml-core==1.32.0
    - loralib==0.1.1
prefix: /opt/conda/envs/transformers

利用导出的文件创建一个新的名为my_new_env的虚拟环境:
1.将文件中开题的name改成my_new_env;最后的prefix改成这个新的虚拟环境想要存放的路径
2. 执行下列命令:

conda env create -f environment.yaml

方法2
这个方法没有亲自测试,直接照搬参考的网页。
pip导出安装的库到

pip freeze > requirements.txt

pip导入中列出的库到系统

pip install -r requirements.txt

方法3
同样是没有测试,招办的参考网页。
在环境移植的过程中,如果想要在不联网的情况下直接复制别的机器或者自己的环境,可以将env下面对应的环境直接进行拷贝,(只适用于anacoda大版本相近anaconda2与3应该是不行的因为对应路径就已经有了变化),直接将整个环境复制然后全部拷贝到新环境的路径文件夹中。