Python的pip
和easy_install
遵循一些規則,通過自己的版本號將包排序。對beta/release/bugfix版本進行編號的規則是什麼,所以這些工具將知道哪些是最新的?什麼是Python的發佈/版本號的標準排序順序?
3
A
回答
8
這是一個痛點,許多人。 setuptools
和easy_install
在試圖發揮好與大家一些比較奇怪的規則。您可以閱讀setuptools
的parse_version
方法的完整的規則,但這裏的總結:
版本號是打破了由點成許多段的元組。 4.5.6.7被解析成等於
("4", "5", "6", "7")
元組。破折號或字母數字之間尾隨零被抑制。 2.4.0與2.4相同; 2.4.05與2.4.5相同。
字母數字部分downcased。 2.4.a5等於2.4.A5。
字符串之前的「最後」是按字母順序來被假定爲預發佈版本,因此2.4.5b到來之前,而不是之後,2.4.5。
最後,好像他們是 「C」, 「前」, 「預覽」 和 「RC」 的處理。 「dev」這個詞被替換爲「@」,這樣它就會出現在其他版本之前。也就是說,
x.y.z-dev
保證來任何其他x.y.z
版本之前。
有許多的建議整理東西有點多,其中最流行的是可能PEP 386。
2
參見documentation或看源:文檔字符串在pkg_resources.py功能parse_version()。
2
使用1.0a1和1.0b2 1.0之前。
即將標準:
- http://www.python.org/dev/peps/pep-0386/#the-new-versioning-algorithm
- http://tarekziade.wordpress.com/2009/11/18/distutils-and-distribute-status-part-1/
- http://bitbucket.org/tarek/distutilsversion/
電流setuptools的: http://peak.telecommunity.com/DevCenter/setuptools#specifying-your-project-s-version
相關問題
- 1. 開發軟件功能的標準順序是什麼?
- 2. document.cookie的排序順序是什麼?
- 3. 排序版本號
- 4. SPFileVersionCollection - 爲什麼版本按混合順序排序?
- 5. 什麼是Perl的「標準字符串比較順序」?
- 6. MySQL的順序按版本號+姓名
- 7. 什麼是「PHP標準化」版本號字符串?
- 8. Hibernate的標準 - 順序按
- 9. 爲什麼是Python的 「排序()」 比慢 「副本,那麼的.sort()」
- 10. 排序應用程序版本號
- 11. Maven的「版本」的插件,版本號順序
- 12. 什麼是正確的字符串排序順序?
- 13. 什麼是oracle中NULL值的排序順序
- 14. 這個聯盟排序圖中的順序是什麼?
- 15. 程序集的版本是什麼?
- 16. 保持gridview的行順序排序後jQuery的後發佈
- 17. 是否有一個標準的Python數據結構,使事物按排序順序排列?
- 18. 什麼是從shell腳本更改CSV排序順序的快捷方式?
- 19. 爲什麼這些排序標準之一有效,但不是其他排序標準?
- 20. Python對文件的排序順序
- 21. 與排序標準
- 22. 這是1的順序是什麼?
- 23. C-按字母順序從標準輸入排序數組
- 24. 如何應用非標準SQL列排序順序?
- 25. 斯卡拉按順序排列的箭頭符號是什麼意思?
- 26. CLASSPATH內的值的順序是什麼?
- 27. 你的構建和發佈步驟是什麼?何時增加版本號?
- 28. JavaScript中a = b == c的順序優先順序是什麼?
- 29. 排號的話按字母順序
- 30. JS排序特定的排序順序
PEP 386現在被接受並在包裝中實現(Python 3中.3 stdlib)和distutils2(2.4-3.2的獨立版本)。 – 2012-02-11 03:40:08