conda环境重建方式

Conda 是著名的包管理器和虚拟环境管理器。

在配置完项目环境,并编写和测试代码后,您可能希望将其移至另一台计算机。

Conda 提供了多种保存和移动环境的方法。

Clone

在本地,conda 可以方便地创建环境的快照或者备份:
conda create --name snapshot --clone myenv

Spec List

如果需要在具有 相同操作系统 的计算机之间复制环境,则可以生成 spec list。

生成 spec list 文件:
conda list --explicit > spec-list.txt
重现环境:

conda create --name python-course --file spec-list.txt

Environment.yml

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

导出 environment.yml 文件:

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

conda env create -f environment.yml

Conda Pack

Conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。 当您想在有限或没有网络访问的系统中重现环境时,此功能很有用。上面的方法均从其各自的存储库下载软件包以创建环境。而此方法不需要。注意,conda-pack 指定平台和操作系统,目标计算机必须具有与源计算机相同的平台和操作系统。

要安装 conda-pack,请确保您位于 root 或 base 环境中,以便 conda-pack 在子环境中可用。Conda-pack 可通过 conda-forge 或者 PyPI 安装。
conda-forge: conda install -c conda-forge conda-pack
PyPI: pip install conda-pack

打包一个环境:
conda pack -n my_env
conda pack -n my_env -o out_name.tar.gz
conda pack -p /explicit/path/to/my_env

重现环境:
mkdir -p my_env
tar -xzf my_env.tar.gz -C my_env
./my_env/bin/python
source my_env/bin/activate
(my_env) $ python
(my_env) $ conda-unpack

Summary

Conda 提供了多种复制项目环境的方法。 创建环境的克隆可以提供定制的基本环境或该环境的快照。spec list 和 conda-pack 可创建特定于平台和操作系统的环境副本。 其中 spec list 使用网络来下载环境中特定的软件包,而 conda-pack 可以打包包括软件包二进制文件在内的整个环境,这在带宽不足或没有网络的情况下很有用。 Conda导出 environment.yml 的方式非常适合在不同平台和操作系统之间重新创建环境。

更多详情请见 docs.conda.io 和 conda-pack project page.

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值