在构建Conda软件包时是否可以同时使用构建字符串和构建编号

时间:2018-06-26 00:34:45

标签: python anaconda conda

我有一个conda软件包的多个版本,它们都安装了相同版本的库,但列出了一些其他依赖项。因此,我必须使用相同的版本号,并使用内部版本号告诉conda哪个软件包是最新的。但是现在我想在程序包名称中添加一些其他信息,因此我决定为此使用构建字符串。但是,构建字符串会覆盖构建编号,并且程序包名称仅包含构建字符串。有什么办法可以同时使用它们吗?用下划线分隔,conda对“ py36_”构建字符串的隐式方式? package-1.0.0-“ build_string” _1

例如:对于下面的meta.yaml,有没有一种方法可以将输出tar文件命名为

tensorflow-1.8.0-py36_Cuda_compatible_1.tar.gz2

let registerViewController = RegisterViewController()
let registerNavigationController = UINavigationController(rootViewController: registerViewController)
currentViewController.present(registerNavigationController, animated: true)

2 个答案:

答案 0 :(得分:0)

我基本上是在同一个问题上挣扎,我试图将提交哈希包括在内部版本号/字符串中。

据我所知,这只是尝试,您不能同时使用两者。我认为这有点愚蠢。我希望能够做到这一点:

{% set version = "0.0.1" %}                                                                                                                                                                                        
{% set commit = "fdafad8" %}                                                                                                                                                                                        

package:
  name: blah
  version: {{ version }}

source:
  git_rev: {{ version }}
  git_url: https://github.com/serine/blah

build:
  number: 0
  string: {{ commit }}

得到这个

blah-0.0.1-fdafad8_1.tar.gz2

我当然可以通过简单地不拥有number:和拥有string: fdafad8_1来获得结果,但是就像我说的那样令人讨厌。

我不知道该如何解决和piggy带您的问题的非常烦人的事情是,它具有“正确的”版本结构,可以在上传到Anaconda存储库时正确排序,例如

  1. blah-0.0.1-fdafad8_0.tar.gz2
  2. blah-0.0.1-fdafad8_1.tar.gz2

我在conda install -c serine blah时期望的行为是获得最新版本-1,但获得版本0:/

看看这个article by Anaconda可能对您有用,对我而言不是。

答案 1 :(得分:0)

您可以做类似

的操作
build:
  number: {{ any_env_var_also }}
  string: {{ PKG_BUILDNUM }}_{{ commit }}