为什么anaconda在创建新环境时会再次下载我已经拥有的软件包?

时间:2020-09-15 16:21:01

标签: anaconda conda

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

我是否配置错误,或者这种行为还可以吗?

为清楚起见,我正在学习Stanford CS224n课程并使用以下作业:

conda env create --file env.yml

其中env.yml的格式为:

name: local_nmt
channels:
  - pytorch
  - defaults
dependencies:
  - python=3.5
  - numpy
  - scipy
  - tqdm
  - docopt
  - pytorch
  - nltk
  - torchvision

我无法在anaconda文档中进行解释。 预先感谢!

1 个答案:

答案 0 :(得分:2)

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

要仅使用已下载的内部版本,必须另外指定该内部版本(作为唯一标识符),以与软件包高速缓存中已下载的版本相对应。

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