1

我创建了一个成功构建的 conda 包,并且可以使用 conda 进行安装。我正在使用versioneer自动生成我的构建版本号。我的项目位于具有多个分支的 git 存储库中。

我的问题是,当我想安装软件包时,conda 将安装最后构建的版本(无论分支),而我希望它默认安装分支 Master 的最后一个版本。我的解决方法是手动指定我想要的版本的版本号。

有没有办法用 versioneer 生成版本号,这将使 conda install 优先安装分支 master 的最后一个构建版本?或者,有没有办法指定 conda 分支以获取最新版本?

谢谢

4

1 回答 1

1

我建议不要更改版本,而是将分支信息编码为构建字符串label/subdirectory。对我来说,这些似乎在语义上更符合情况。

构建变体

对于前者,这可以通过定义一个包含一些与 Git 分支协调的 jinja 模板变量的构建字符串来显式完成,或者通过conda_build_config.yaml. 如果你得到这个工作,那么从分支安装一个构建foo将是这样的:

conda install my_package=*=*foo

我不知道一个简单的例子,但 Conda Forgeblas-feedstock使用aconda_build_config.yaml来定义blas_impl选项集,然后用于meta.yaml.

存储库标签

对于后者,我只知道 Anaconda Cloud 托管(您可能没有使用)。在这种情况下,添加一个标签(子目录):

anaconda upload -l foo my_package.tar.gz

如果你走这条路,那么从分支安装构建foo将类似于:

conda install channel/foo::my_package

其中“ channel”是您上传到的频道。

于 2021-09-10T16:30:36.477 回答