1

第一个问题,如果我在这里没有遵循任何既定规范,请对我大喊大叫:)

我第一次设置了一个完整的 conda-build 管道,我有一个看起来像这样的 Makefile:

build:
    echo "Building packages."

    conda-build my_first_package/conda-recipe --output-folder /path/to/dev/channel
    conda-build my_second_package/conda-recipe --output-folder /path/to/dev/channel
    conda-build my_third_package/conda-recipe --output-folder /path/to/dev/channel

    conda index /path/to/dev/channel

有问题的三个包彼此紧密相连,并且存储在同一个 repo 中,因此最好在同一个管道中构建每个包。我想做的是为每个进程分拆一个单独的进程并并行运行每个 conda-build 命令。不确定这是否是一个安全的操作,因为我真的不明白 conda-build 正在做什么来“构建”包。

我将在今天晚些时候测试这个想法并发布更新,但我真正担心的是它会产生一些意想不到的副作用,我不知道如何进行测试。所以我认为我的问题是:conda-build 可以将多个包并行构建到同一个 conda 通道中吗?

4

1 回答 1

1

或者,对于非常紧密耦合的包,可能需要查看具有多个输出的单个构建。有关参考,请参阅的输出部分文档conda-build还可能值得查看一个完整的示例,例如Conda Forge 的matplotlib-feedstock,它从一个单一的配方构建matplotlibmatplotlib-base和所有内容。mpl-sample-data

在这种特殊情况下,我想像

元.yaml

...
outputs:
  - name: my_first_package
    ...
  - name: my_second_package
    ...
  - name: my_third_package
    ...
...

然后运行一个conda build命令。

于 2021-05-04T20:27:55.660 回答