conda build - 添加大量测试数据的推荐方法

标签 conda conda-build

我正在为一个软件开发 conda 包,该软件的测试套件需要相当重的测试数据(~50MB) conda documentation indicates如何使用配方中包含的测试数据。当测试数据很重时,我猜想最好是即时下载它们,而不是将数据包含在配方中,但是在 meta.yml 中声明这一点的最佳方法是什么?数据存档的下载和提取应该在 build.sh 还是其他地方完成?

最佳答案

我建议将测试数据列为要下载的附加

大多数 conda 配方仅从单个源 tarball(或 git 存储库等)下载,但配方允许在必要时列出多个源,所有这些源都会被下载。这是一个简单的示例:

{% set name = "foo" %}
{% set version = "0.1" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  # Main source code
  - url: http://example.com/yada/yada/foo-{{ version }}.tar.gz
    sha256: 90e64c6eca4be47bbf1d61f53dc003c6621213738d4ea7a35e5cf1ac2de9bab1

  # Also download test data into a folder named 'test-data'
  - url: http://example.com/yada/yada/my-test-data.tar.gz
    sha256: 3b9c5e0f09ca14a54454319b64af98a02d0ae1b3eb1122c95e2130736f440cd1
    folder: test-data

build:
  number: 0

requirements:
  # etc, etc, ...

test:
  source_files:
    - test-data
  commands:
    - run_my_tests --data-dir=test-data

注释:

  1. 提供一个文件夹名称来指定您的附加源应在work目录中解压到的位置。否则,它将在 work 目录的根目录下解压,就像第一个源代码一样。

  2. work 目录在测试阶段开始之前被删除,因此您需要在 test:source_files: 部分列出测试数据目录确保将其复制到执行测试的文件夹中。

关于conda build - 添加大量测试数据的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62144512/

相关文章:

python - 无法使用与 'base' 相同的 python 版本创建新的 conda 环境

python - 为什么 Jupyter 在通过 Conda 安装时会降级 Tensorflow?

python - 如何通过 conda-build 配方安装 pip 包?

python - 配置 conda 构建以从 conda 包输出中排除一些文件夹

python - 从 scipy 导入 softmax 并在从 sklearn 导入后使用它时出现问题

python - 在现有的 python 系统上安装 anaconda?

python - Anaconda3 - 属性错误 : 'dict' object has no attribute 'rsplit'

python - Conda 使用 pint 构建无法满足的依赖项错误

git - 可以从 github 分支做 "conda build"吗?