参考:
https://blog.csdn.net/luanlz/article/details/134402999
做项目时,为方便环境部署,有时会遇到conda环境迁移的需求,该如何快速迁移conda虚拟环境呢,主要有如下三种办法:
第一:
方法1:
scp拷贝法,直接将envs的环境文件夹,拷贝到目标主机上。
例如:
拷贝完成后,赋予相应的权限。
方法2:
清单法Spec List,生成当前环境的组件清单,然后再进行重放安装。
生成 spec list 文件:
重现环境:
也可以使用–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
完成环境的恢复。