【问题标题】:How to install packages from yaml file in Conda如何在 Conda 中从 yaml 文件安装软件包
【发布时间】:2020-02-04 22:01:13
【问题描述】:

我想要一个 YAML 文件,它既可以用于创建虚拟环境,也可以(最重要的是)作为 conda 将软件包安装到全局环境中的基础。我正在尝试:

conda install --file ENV.yaml

但它不起作用,因为 conda 需要 pip-like 格式的要求。我应该执行什么命令来从我的 YAML 文件全局安装包?

【问题讨论】:

    标签: python anaconda conda miniconda


    【解决方案1】:

    如果您的 conda env 已激活,请使用:

    conda env update --file environment.yml
    

    或者更新一个特定的环境而不激活它:

    conda env update --name envname --file environment.yml
    

    【讨论】:

      【解决方案2】:

      你想要conda-env 命令,特别是

      conda env update -n my_env --file ENV.yaml
      

      阅读conda env update --help了解详情。

      如果你想在 base 环境中安装它,那么你可以使用

      conda env update -n base --file ENV.yaml
      

      请注意,base 环境在技术上并不是“全局”的,而只是默认环境以及conda Python 包所在的位置。所有 env 都是隔离的,除非您是 using the --stack flag during activation 覆盖隔离或 - contra recommended practice - 手动操作 PATH 以包含一个 env。

      【讨论】:

      • 这不起作用,我得到: CondaEnvException: Unable to determine environment 请使用以下选项之一重新运行此命令: * 通过 --name 或 -n 提供环境名称 * Re-在激活的 conda 环境中运行此命令。
      • 我不认为你理解我的意思。我想在全球范围内安装软件包。而不是写 conda install X;康达安装Y; conda install Z 我只想提供一个规格文件
      • 非常感谢,您能否用“--name base”更新我们的答案,并提供一个链接来解释通用 conda 环境称为 base(以便我接受)?这将很好地为后代服务。
      • @maciek 我更新了它,但我还要提醒你,你的 base 环境是 Conda 所在的地方,你操纵它的次数越少,它就越稳定。我会特别避免在那里安装任何带有pip 的东西。
      • 一个观察:conda 的输出有点奇怪,实际上并没有告诉你它正在安装什么,所以它可能有点混乱,因为这是我所期望的。
      猜你喜欢
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 2019-12-11
      • 2022-01-08
      相关资源
      最近更新 更多