我正在尝试缩短我的包在 Azure 上的测试阶段的构建时间。我的
environment.yml
所使用的 conda
包含所有必需的依赖项:核心、测试和文档依赖项。
对于测试阶段,我想跳过文档依赖项,因为它们不是必需的,但我想将每个依赖项仅定义在一个位置(因此不需要使用单独的
environment-docs.yml
来重复所有核心和测试包及其版本)可以接受)。
理想情况下,我想要一个类似于 docker stage 的功能,假设:
environment.yml
name: lorem-ipsum
channels:
- conda-forge
dependencies:
core:
- numpy
- scipy
test:
- pytest
docs:
- sphinx
conda env create --file environment.yml --stage test
然后它将解决并安装所有软件包直到
test
部分。
我没有找到如何实现类似的解决方案,而无需在单独的
environment.yml
文件中重复所有核心依赖项。
感谢您的任何建议!
您的问题看起来更像是对 Conda 的功能请求,您可以在此处提出。
另外,您似乎有单独的模块,仅包含文档?这是不典型的。二进制文件与文档一起提供。因此,除非您自己创建了模块的“剥离”版本,否则很难区分已安装的带文档和不带文档的模块。然后只需指向这样一个自定义Conda通道即可。这可能需要大量工作(除非您专注于最大的包)。