首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在创建新环境时,anaconda会重新下载我已经有的包?

为什么在创建新环境时,anaconda会重新下载我已经有的包?
EN

Stack Overflow用户
提问于 2020-09-16 00:21:01
回答 1查看 220关注 0票数 2

我最近在一些项目中使用了anaconda3,每次我为一个项目创建一个虚拟环境时,anaconda似乎都在重新下载相同的包(例如pytorch)。

我是不是配置错了什么,或者这个行为是正常的?

为了提高文凭,我正在学习斯坦福大学的CS224n课程,以及我使用的作业:

代码语言:javascript
复制
conda env create --file env.yml

其中,env.yml的形式为:

代码语言:javascript
复制
name: local_nmt
channels:
  - pytorch
  - defaults
dependencies:
  - python=3.5
  - numpy
  - scipy
  - tqdm
  - docopt
  - pytorch
  - nltk
  - torchvision

我在anaconda文档中找不到一个解释。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-09-16 06:26:08

如果只指定了包名或版本,那么Conda将默认获取与约束一致的最新版本。因此,任何具有较新版本的包都将导致下载。

脱机模式

有一个--offline标志只使用包缓存中可用的内容。

指定构建

然而,这可能并不总是可行的(例如,您已经向YAML中添加了一些非缓存的包)。在这种情况下,可以另外指定与已经缓存的版本相对应的构建(某种唯一标识符)。

不确定最干净的方法,但一种方法是首先从包所在的现有环境(例如,conda export env > env.yaml)中导出一个YAML,然后使用其中的规范来填充您试图创建的YAML环境的详细信息。

克隆

值得一提的是,还可以克隆现有环境:

代码语言:javascript
复制
conda create --clone old_env --name new_env
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63906049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档