3

Python ではpipeasy_installいくつかの規則に従って、パッケージをリリース番号で並べ替えます。これらのツールが最新のものを認識できるように、ベータ版、リリース版、バグ修正版のリリースに番号を付ける規則は何ですか?

4

3 に答える 3

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 と同じです。

  • 英数字部分は小文字化されます。2.4.a5 は 2.4.A5 と同じです。

  • アルファベット順で「final」より前にある文字列はプレリリース バージョンと見なされるため、2.4.5b は 2.4.5 の後ではなく前になります。

  • 最後に、「pre」、「preview」、および「rc」は、「c」であるかのように扱われます。「dev」という単語は「@」に置き換えられるため、同じバージョンの他の何よりも前に表示されます。つまり、x.y.z-dev他のどのx.y.zバージョンよりも前に来ることが保証されています。

物事をもう少し整理するための多くの提案があり、その中で最も人気があるのはおそらくPEP 386です。

于 2009-12-14T15:49:29.593 に答える
2

ドキュメントを参照するか、ソースを参照してください: pkg_resources.py 関数 parse_version() の doc 文字列。

于 2009-12-14T15:47:46.350 に答える