Это больной вопрос для многих людей. 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 .