Python でのバージョン番号の比較
同じ Egg の複数のバージョンを含むディレクトリを移動するときに、最新バージョンのみが追加されるようにするsys.path に追加すると、バージョン文字列を比較するときに直感的ではない順序付けが行われるため、問題が発生する可能性があります。 strings.
packaging.version の使用
Python は、バージョン文字列の PEP 440 スタイルの順序付けをサポートする、packaging.version モジュールを通じて洗練されたソリューションを提供します。このモジュールは、バージョンを正確に比較するために使用できる Version クラスを提供します。
from packaging.version import Version # Example: version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1 < version2) # True
レガシー メソッド
バージョン文字列を比較する古いメソッドは distutils.version です。 。ただし、これは非推奨であり、置き換えられた PEP 386 に準拠しています。LooseVersion と StrictVersion の 2 つのクラスが提供されます。
from distutils.version import LooseVersion, StrictVersion # LooseVersion compares versions loosely: version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1 < version2) # True # StrictVersion is stricter in its comparison: version1 = StrictVersion("2.3.1") version2 = StrictVersion("10.1.2") print(version1 < version2) # True # However, it doesn't recognize valid PEP 440 versions as strict: version1 = StrictVersion("1.3.a4") print(version1) # ValueError: invalid version number '1.3.a4'
結論
Python でバージョン番号を比較する場合、 package.version は、信頼性の高い洗練されたソリューションを提供します。現在の PEP 440 仕様に準拠しており、バージョン比較のためのクリーンで簡潔な API を提供します。
以上がPython でバージョン番号を確実に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。