Python pip依赖项是否可以排除或包含在语义预发布标签中?
我有一些开发人员希望能够将库发布为“beta”或“release”版本 i、 e:Python pip依赖项是否可以排除或包含在语义预发布标签中?,python,pip,pypi,python-packaging,requirements.txt,Python,Pip,Pypi,Python Packaging,Requirements.txt,我有一些开发人员希望能够将库发布为“beta”或“release”版本 i、 e: 1.2.3-beta版 1.2.3 在消费项目上,他们不能给我任何具体的标准,说明他们什么时候想要使用beta或release软件包。我们有CI,但没有任何确定的“何时”,我无法支持两个单独的pip提要,因为它们可能会发生翻转。所以我建议利用需求文件中的版本范围语法,这样他们就可以在签入时指定他们想要的内容。他们从来没有做过这样的事情,我基本上是python新手。是否可以在预发布标签上进行过滤?即 lib==1.
1.2.3-beta版
1.2.3
在消费项目上,他们不能给我任何具体的标准,说明他们什么时候想要使用beta
或release
软件包。我们有CI,但没有任何确定的“何时”,我无法支持两个单独的pip提要,因为它们可能会发生翻转。所以我建议利用需求文件中的版本范围语法,这样他们就可以在签入时指定他们想要的内容。他们从来没有做过这样的事情,我基本上是python新手。是否可以在预发布标签上进行过滤?即
lib==1.*-*
会选择一个beta
包吗
及
Willlib==1.*.*=1.*-*
选择一个发行版
软件包,并确保排除任何测试版
软件包
我想自己尝试一下我的理论,但我对python了解不够,无法在本地模拟某种示例库,而且他们太忙了,无法对其进行研究。默认情况下
pip
不会安装,比如1.0.0.b1
要启用预发行版的安装,请使用带有pip
的标志
还可以使用PrimelLoad版本说明符强制<代码> PIP <代码>考虑单个包的预处理,而不需要使用<代码> -PRE> <代码>。发件人:
如果需求说明符包括预发布或开发版本(例如,=0.0.dev0
),则pip将允许该需求的预发布和开发版本
因此,在您的requirements.txt
文件中,您会有如下内容:
package_a>=1.2.3 # will not install pre-releases
package_b>=1.2.3.dev0 # will install pre-releaes
这很好,但考虑到这是自动化实现的,我觉得他们每次想使用预发布标签包时,都会添加或删除--pre标志,这会…让他们烦恼吗?如果我一直都启用了--pre标志,有没有一种方法可以使用需求版本语法来排除或包含预发布标签?我只是希望他们只需要与他们的需求文件交互,这样他们就可以有意识地、深思熟虑地决定在一个地方消费什么样的lib。