【发布时间】:2019-07-08 00:39:52
【问题描述】:
我想有以下情况。环境 A 有几个包。环境 B 具有从 A 继承的所有包。 B 还根据其要求具有其他包。每当我在 A 中安装一个包时 - 它应该会自动安装在 B 中(反之亦然)。如何在 conda 中做到这一点?
【问题讨论】:
标签: anaconda conda package-managers miniconda
我想有以下情况。环境 A 有几个包。环境 B 具有从 A 继承的所有包。 B 还根据其要求具有其他包。每当我在 A 中安装一个包时 - 它应该会自动安装在 B 中(反之亦然)。如何在 conda 中做到这一点?
【问题讨论】:
标签: anaconda conda package-managers miniconda
Conda 对此没有任何支持。几年前有 some proposed feature discussion for this,但目前还不清楚它的去向,因为该问题已迁移到 conda-env 存储库,并且由于归档(?)而不再可访问。
您可以尝试重新激活问题/讨论。鉴于how notoriously slow conda dependency resolution already is,我认为这不太可能。我猜最好的方法是编写自己的包装器。
【讨论】:
看起来有关此功能的讨论导致'nest' environments 的能力,实质上是激活环境A,然后在其之上激活B。这会延迟合并到激活的时间。
如果您想实际创建单独的环境,您可以使用一种方法为每个环境生成environment.yml 文件。我使用了一个用jinja2-cli 处理的主 yaml 文件。它包含选择性地包含和排除依赖项的条件。
【讨论】: