我正在分发一个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}}发布?)。
这有什么标准惯例吗?请注意,我不想更改作者软件包的名称,但我确实需要一个临时分支,我的其他软件包可以在最小的问题上安装。
答案 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
符合条件的案例正在出现:
package-forkname-1.6.4
forkname-1.6.4
,其中forkname
是"聪明的" packagename
上的变体(例如PIL
和pillow
)