更改 conda 包的构建字符串

Posted

技术标签:

【中文标题】更改 conda 包的构建字符串【英文标题】:changing build string for conda package 【发布时间】:2020-11-23 16:37:03 【问题描述】:

当我第一次运行conda-build myrecipe 时,tar.bz2 的名称为“mypackage-version-py38_0.tar.bz2”,但此后每次运行时,构建字符串都是“mypackage-version-py38head00f5_0.tar”。 bz2'。为什么现在将“head00f5”添加到构建字符串中?

这是我的 meta.yaml

package:
  name: mypackage
  version: "0.0.0.dev1"

source:
  path: ../

build:
  number: 0


requirements:
  build:
    - python
    - setuptools
    - numpy

  run:
    - python
    - numpy

test:
  imports:
    - mypackage
``

【问题讨论】:

【参考方案1】:

自 3.0 版以来,conda-build 一直在向构建字符串添加哈希值。详情请见Differentiating packages built with different variants。

哈希总是以h 开头,然后是 7 个十六进制数字。在您的特定情况下,它恰好产生了head 这个词,我猜这是混淆的一部分。我认为这只是巧合。

【讨论】:

好的,这是有道理的。我认为我在第一次构建的构建要求中缺少 numpy,并且第二次添加它会导致包含哈希。谢谢!

以上是关于更改 conda 包的构建字符串的主要内容,如果未能解决你的问题,请参考以下文章

Conda 构建:github 和 bitbucket

如何修复我的自定义 conda 包的 conda UnsatisfiableError?

Python 打包:在 `conda` `meta.yaml` 文件中创建对 `conda-forge` 包的依赖

如何找到 conda-forge 包的 MD5 校验和

带有fortran扩展的python包的conda-forge配方不适用于appveyor

关于 conda 环境中不同版本包的原因和影响