标志conda包不安全/实验,禁止包安装

时间:2017-08-28 15:11:47

标签: conda

我正在寻找一种方法来标记托管在一个特定的conda包上,例如,一个要标记的HTTP服务器" experimental"这样客户端的conda install命令将安装下一个最新的包。

用例是:我正在构建我想在QA机器上安装的候选发布包,但我不希望其他开发人员意外地使用新包更新其环境。由于发布候选包具有比稳定包更高的构建字符串(例如2.0.0rc11.9.7),因此conda将安装候选发布版。另一方面,我想使用我已经设置的机制(HTTP服务器)分发候选发布包,以便我可以在QA机器上安装它们,可能带有--force标志。我想标记包"禁止安装"在服务器上,而不是要求所有开发人员编辑他们的~/.condarc

如果我刚才描述的配置不可能,有没有其他选择?我唯一能想到的是托管另一个只包含候选版本/实验包的软件包repo。这种方法是其他包管理器的典型做法吗?

1 个答案:

答案 0 :(得分:0)

上传时,您可以为“alpha”包分配标签。这有效地将它们放在必须在安装时指定的不同通道上,无论是在配置中还是在特定的安装命令中。这里有详细说明:“上传”部分下的https://docs.continuum.io/anaconda-cloud/commandreference(抱歉,我无法直接链接)。该命令基本上是

anaconda upload -l dev /path/to/mypackage-1.0.0a1-py36_0.tar.gz
                ^^^^^^
          This is the label assigned

要从标签安装,只需将其指定为频道

即可
conda install -c mychannel/label/dev mypackage
                          ^^^^^^^^^^
                  Include this on your channel

如果在安装命令(或用户配置)中未指定该标签,则安装将找不到alpha包!

有关详情,请参阅“标签”标题下的here