Conda 为包管理器和虚拟环境管理器。在配置完项目环境,进行了编写和测试代码,需要大量数据测试运行时,需要将其移至另一台主机上。Conda 提供了多种保存和移动环境的方法。

方法1:

scp拷贝法,直接将envs的环境文件夹,拷贝到目标主机上。

例如:

# scp -r -P 端口(目标主机使用端口) /opt/anaconda3/envs/gpt user@主机IP:/opt/anaconda3/envs/

拷贝完成后,赋予相应的权限。

方法2:

清单法Spec List,生成当前环境的组件清单,然后再进行重放安装。

生成 spec list 文件:

# conda list --explicit > 环境名-list.txt

重现环境:

# conda create  --name 新生成的环境名称 --file 环境名-list.txt

也可以使用--export选项,导出生成yml文件。

conda env export > environment.yml

注意:如果当前路径已经有了 environment.yml 文件,conda 会重写这个文件

重现环境:

conda env create -f environment.yml

spec list 文件和 environment.yml 文件之间的区别在于: environment.yml 文件不针对特定操作系统,并且使用YAML格式。 environment.yml 仅列出了软件包名称,由 conda 基于软件包的名称构建环境。 另一个区别是 -export 还包括使用pip安装的软件包,而 spec list 则没有。

方法3:

打包法,Conda Pack

Conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。要安装使用conda-pack,请确保您位于root 或 base 环境中,以便 conda-pack 在子环境中可用。Conda-pack 可通过 conda-forge 或者 PyPI 安装。 conda-pack 指定平台和操作系统,目标计算机必须具有与源计算机相同的平台和操作系统。

安装,

conda-forge:

conda install -c conda-forge conda-pack

PyPI:

pip install conda-pack

使用,将当前环境打包到指定的路径

conda pack -p /path/to/envsbackup

恢复环境

tar -xzf pyenvs.tar.gz -C pyenvs

使用 Python

./pyenvs/bin/python

激活当前 Conda 环境

source pyenvs/bin/activate

在恢复的环境中,运行python

(pyenvs) $ python

清除活动环境中的前缀。

注意,该命令也可以在不激活环境的情况下运行

只要机器上已经安装了某个版本的Python。

(pyenvs) $ conda-unpack

完成环境的恢复。

以上3种方法,工作中用到了,总结一下。

11-19 08:53