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

为什么在创建新环境时,anaconda会再次下载我已有的软件包?,anaconda,conda,Anaconda,Conda,最近我在一些项目中使用了anaconda3,每次我为项目创建虚拟环境时,似乎anaconda都在重新下载相同的包(例如pytorch) 我是否对某些东西有误解,或者这种行为还可以 对于文书工作,我正在学习斯坦福CS224n课程,并使用以下作业: conda env create --file env.yml 其中env.yml的形式为: 名称:本地\u nmt 频道: -皮托克 -默认值 依赖项: -python=3.5 -努比 -松软的 -TQM -docopt -皮托克 -nltk -火炬

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

我是否对某些东西有误解,或者这种行为还可以

对于文书工作,我正在学习斯坦福CS224n课程,并使用以下作业:

conda env create --file env.yml
其中env.yml的形式为:

名称:本地\u nmt
频道:
-皮托克
-默认值
依赖项:
-python=3.5
-努比
-松软的
-TQM
-docopt
-皮托克
-nltk
-火炬视觉
我无法在巨蟒文件中找到解释。
提前谢谢

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

要仅使用已下载的版本,必须另外指定版本(哪种类型用作唯一标识符)以对应于包缓存中已下载的版本


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

运行
conda env create--file env.yml
时,您会得到什么输出?如果包已在本地包缓存中可用,Conda将不会下载包。