Continuous integration 通过conda forge/conda install指定选定的conda软件包默认版本
我想通过conda分发一个包的多个版本。具体来说,我想这样做:Continuous integration 通过conda forge/conda install指定选定的conda软件包默认版本,continuous-integration,conda,conda-build,conda-forge,Continuous Integration,Conda,Conda Build,Conda Forge,我想通过conda分发一个包的多个版本。具体来说,我想这样做: ... package-v1.2-dev package-v1.2 package-v1.1-dev package-v1.1 package-v1.0 诀窍是,我希望“最新”或默认包是没有-dev的发布版本。据我所知,conda install如果没有版本号,将安装最新版本。在我的例子中,这将始终是-dev。是否可以将默认设置为特定的版本号?您可以通过为dev软件包指定自定义“标签”来实现这一点。对于发布包,请继续使用默认的ma
...
package-v1.2-dev
package-v1.2
package-v1.1-dev
package-v1.1
package-v1.0
诀窍是,我希望“最新”或默认包是没有
-dev
的发布版本。据我所知,conda install
如果没有版本号,将安装最新版本。在我的例子中,这将始终是-dev
。是否可以将默认设置为特定的版本号?您可以通过为dev
软件包指定自定义“标签”来实现这一点。对于发布包,请继续使用默认的main
标签,但对于其他包,请使用非主标签(例如dev
)
首先,简要说明一下版本号:conda软件包版本,因此v1.2-dev
不是有效版本。对于以下示例,我将使用v1.2.dev
以下是如何上传您的软件包:
anaconda upload mypackage-v1.2.tar.bz2
anaconda upload --labels dev mypackage-v1.2.dev.tar.bz2
(您还可以通过网站上的帐户操作现有软件包的标签。)
默认情况下,您的用户将只下载您的主软件包。想要dev
软件包的用户将有两种选择:
dev
标签:
conda install -c mychannel/label/dev mypackage
conda install mypackage
dev
标签添加到他们的.condarc
配置中
#.condarc
频道:
-mychannel/label/dev#dev label
-mychannel#仅主标签
-康达锻造厂
-默认值
这样就不需要在命令行上指定通道:
conda install -c mychannel/label/dev mypackage
conda install mypackage
PS——这里有一个关于你上面写的东西的旁注: 据我所知,
conda install
如果没有版本号,将安装最新版本
只是想澄清一下,它并没有按时间顺序安装“最新”版本,而是按照时间顺序安装最高兼容版本。该逻辑在很大程度上与相关的Python约定(例如和其他约定)兼容,但也提供了一些与其他语言约定兼容的功能
请注意:就康达(和PEP440)而言,1.2.dev
位于1.2
之前。(也许你已经知道了,但我不认为这很明显。)
$python
>>>从conda.models.version导入VersionOrder
>>>VersionOrder('1.2.dev')
感谢您提供有关订购版本的更多信息。显然,我的项目版本都错了!我认为<代码> v1.2.DEV>代码>是代码> V1.2>代码>被标记和释放之后的DEV分支。听起来Python的惯例是v1.2.dev
是在v1.1
发布之后,并且是v1.2
正在开发中。是的,这绝对不是显而易见的,IMHO。我第一次看到它时很惊讶<代码>[N!]N(.N)*[{a | b | rc}N][.postN][.devN]FYI与Conda forge集成:啊,我不知道这个功能。谢谢