什么是包的分叉的良好的pip / setuptools兼容版本号?

时间:2014-05-20 17:20:24

标签: python pip setuptools

我正在分发一个python包,我希望包作者在不久的将来合并我的更改。包工作者不经常发布,所以我希望我的临时fork作为我的一些其他包的依赖。我需要为我的fork创建一个合适的版本号,它符合pip / setuptools。

我们假设当前版本为1.6.4,我希望作者的下一个版本为1.6.5。 fork的适当版本是1.6.4.1还是1.6.5.dev20140520?两者似乎都符合PEP440,但除了您专门使用pip标志之外,我还有使用dev的最新版本未找到pre版本的经验。似乎1.6.4.1是一个不错的选择,但我不知道pip格式会有多快N.N.N.N(例如pip会将其视为pre {{1}}发布?)。

这有什么标准惯例吗?请注意,我不想更改作者软件包的名称,但我确实需要一个临时分支,我的其他软件包可以在最小的问题上安装。

1 个答案:

答案 0 :(得分:2)

似乎没有为python包命名fork的官方约定。正如@larsman在问题评论中所指出的那样,package-1.6.4的标准约定是package-1.6.4-forkname-0.1 - 虽然Linux社区(和其他人)多年来一直使用它,但最近它已经失宠了python包。其中一个主要问题是该约定不遵循pip使用的可接受的版本控制约定 - 因此近年来对python包的使用较少。如果你搜索" fork"在pypi的软件包索引(https://pypi.python.org/pypi?%3Aaction=search&term=fork&submit=search)上,您会发现似乎有两个常见的pip符合条件的案例正在出现:

  1. package-forkname-1.6.4
  2. forkname-1.6.4,其中forkname是"聪明的" packagename上的变体(例如PILpillow