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

当我为使用 pytorch 的项目创建 conda 环境时,由于我所在地区的连接速度较慢(有时需要几个小时),因此需要很长时间才能安装 torch 和 torchvision 软件包。

因此,为了快速开始我的项目,我不会创建新的环境,我只是使用基础环境中的包。我知道这很快就会变得毛茸茸的。

这就是为什么我想知道是否有一种方法可以使新创建的环境继承基础环境中的特定包而无需重新安装。

ps:我知道 conda 利用硬链接,但我不明白在这种情况下如何使用它。我感谢您的帮助。


神不在的星期二
浏览 259回答 1
1回答

摇曳的蔷薇

克隆在新环境中仅使用已安装的软件包的最简单方法是克隆现有环境 ( 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 将最大限度地减少下载和物理磁盘使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python