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

标签 anaconda conda

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

我是否配置错误或者这种行为没问题?

为了澄清,我正在做斯坦福大学 CS224n 类(class)以及我使用的作业:

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 文档中做出解释。 提前致谢!

最佳答案

如果只指定包名或者版本,那么Conda会默认抓取符合约束的最新版本。因此,任何具有较新版本的软件包都将导致下载。

离线模式

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

指定构建

但是,这可能并不总是可行(例如,您已将一些非缓存包添加到 YAML)。在这种情况下,可以另外指定构建(充当唯一标识符)以对应于已缓存的版本。

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

克隆

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

conda create --clone old_env --name new_env

关于anaconda - 为什么 anaconda 在创建新环境时会再次下载我已有的软件包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63906049/

相关文章:

python - Anaconda-navigator : byte indices must be integers or slices, 不是 str

python-3.x - Spyder 忽略 .pycodestyle

python - 在 python 3.6 上使用 conda 安装 ephem

django - Dockercontinuum/miniconda3容器未显示 “conda”

python - 了解 `conda install`( channel 和包)

python - 从 Windows 上的 conda 环境运行 python

python - 如何在 python 3 中导入 "HdfsClient"?

python - 在 conda 环境中使用 pip 是否仅在该 conda 环境中安装软件包?

python - PackagesNotFoundError : The following packages are not available from current channels. 如何解决?

python - pip install -- python 3 -- conda [非法指令 : 4]