在 Conda 中使用共享系统库

Use shared system libraries in Conda

我在一个共享计算集群上使用 Conda,其中数字和 io 库已经针对系统进行了调整。 我怎样才能告诉 Conda 使用这些并且只担心 path 上还没有的库和包?

例如:

安装了 openmpi 库,我想用 Conda 安装和管理的软件包也将其作为依赖项。 我怎样才能告诉 Conda 担心那里 没有 的东西?

一个技巧是使用 shell 包 - 一个空包,其唯一目的是满足求解器的约束。这是 Conda Forge 使用 mpich 所做的事情,如 this section of the documentation 中所述。也就是说,对于每个版本,它们都包含一个 external 构建变体,可以像

一样安装
conda install mpich=3.4.2=external_*

表示由主办方提供。具体例子可以参考the recipe's meta.yaml

我认为这不是很好(看起来工作量很大),但我也不知道有更好的选择。