use*_*571 4 python pip pypi requirements.txt python-packaging
我的开发人员希望能够将库发布为“测试版”或“发布版”。
IE:
1.2.3-beta
1.2.3
在消费项目中,他们无法给我任何关于何时想要使用beta或release包的具体标准。我们有 CI,但没有任何明确的“何时”,我无法支持两个单独的点馈送,因为它们可能会失败。因此,我建议利用需求文件中的版本范围语法,这样他们就可以在签入期间指定他们想要的内容。他们从来没有做过这样的事情,而我基本上是一个Python菜鸟。是否可以过滤预发布标签?IE
会lib == 1.*.*-*取beta包裹吗?
和
会lib == 1.*.*, !=1.*.*-*提取release包裹并确保排除任何beta包裹吗?
我会自己尝试我的理论,但我对 python 不太了解,无法在本地模拟某种示例库,而且他们太忙了,无法研究它。
默认情况下pip不会安装预发行版,例如1.0.0.b1
要启用预发行版的安装,请使用--pre带有 的标志pip。
您还可以使用预发布版本说明符来强制pip考虑各个包的预发布,而无需使用--pre. 来自https://pip.pypa.io/en/stable/reference/pip_install/#pre-release-versions:
如果需求说明符包含预发布或开发版本(例如
>=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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |