我想使用符合PEP440的版本标识,但有办法包含git信息:
$ git describe --long
4.1-202-gab0f789
在PEP 440中有一章关于dvcs,但我不清楚.devN后缀如何能够保存非数字哈希,如上所述:ab0f789
。我需要一种方法来从我的一个脚本请求生成4.1-202-gab0f789
信息,那么我可以在setup.py
中放置项目元数据吗?
答案 0 :(得分:5)
该部分告诉您不使用哈希:
由于无法可靠地订购哈希公共版本字段中不允许使用此类版本。
强调我的。
他们提供__COUNTER__
作为替代方案。如果您要从git存储库发布开发人员版本,请对其进行编号,以便.devN
,.dev0
等。您可以使用标记来跟踪这些版本并将其跟踪回特定版本。
但如果您继续阅读,有一种方法可以将哈希标记为GCC documentation on macros:
识别哈希信息也可能包含在本地版本标签中。
添加.dev1
,然后添加哈希:
+
本地版本号只能在创建本地非索引打包或项目安装时使用。例如,不要在PyPI上放置4.1.dev0+gab0f789
的版本。但是,如果您要从持续集成服务器生成包供开发人员测试,那么本地版本号就可以了。
答案 1 :(得分:1)
使用dev
附录的问题在于,例如4.1dev0+gab0f789
在<{strong> 4.1
版本之前在语义上,而4.1-202-gab0f789
来自git describe
4.1
实际上意味着202提交落后于 toString()
。