为了账号安全,请及时绑定邮箱和手机立即绑定

conda中的新环境可以从基础环境继承特定的包吗

conda中的新环境可以从基础环境继承特定的包吗

神不在的星期二 2023-10-18 20:43:05
当我为使用 pytorch 的项目创建 conda 环境时,由于我所在地区的连接速度较慢(有时需要几个小时),因此需要很长时间才能安装 torch 和 torchvision 软件包。因此,为了快速开始我的项目,我不会创建新的环境,我只是使用基础环境中的包。我知道这很快就会变得毛茸茸的。这就是为什么我想知道是否有一种方法可以使新创建的环境继承基础环境中的特定包而无需重新安装。ps:我知道 conda 利用硬链接,但我不明白在这种情况下如何使用它。我感谢您的帮助。
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

克隆

在新环境中仅使用已安装的软件包的最简单方法是克隆现有环境 ( conda create --clone foo --name bar)。一般来说,我不建议克隆基础环境,因为它包括 Conda 和其他仅在基础环境中需要的基础设施。

在工作流程级别,考虑创建一些可以为不同项目克隆的模板环境可能会更有利。

YAML 定义

然而,OP 提到只想要特定的包。我仍然会为此创建一个新的环境,但从使用导出的 YAML 的现有环境开始。

conda env export -n foo > bar.yaml

编辑bar.yaml以删除您不需要的任何包(再次,如果foo == base,删除conda),然后使用创建新环境

conda env create -f bar.yaml --name bar

这将确保准确使用先前环境中的包。

总的来说,如果您使用 YAML 文件(包括构建规范)进行克隆和重新创建,那么 Conda 将最大限度地减少下载和物理磁盘使用。


查看完整回答
反对 回复 2023-10-18
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信