Требования.txt тильда равно (~=) vs тильда больше (~›)

Согласно этому вопросу и ссылкам на него в другом месте, я узнал, что ~= V.N совпадает с >= V.N, == V.*

Для данного идентификатора выпуска V.N предложение о совместимом выпуске приблизительно эквивалентно паре предложений сравнения:

>= V.N, == V.*

Выпуск, совместимый с PEP 440

Но что означает ~> V.N? Означает ли это просто > V.N, == V.*, указывая, что версия V.N не будет удовлетворять требованиям, а V.(N+1) удовлетворит?


Примечание. Я нигде не видел, чтобы эта нотация использовалась, но недавно GitHub отправил предупреждение системы безопасности, в котором говорилось, что нужно обновить один файл requirements.txt, чтобы использовать этот синтаксис.


person Stephen Cowley    schedule 13.02.2019    source источник


Ответы (1)


Этот ~> не является допустимым спецификатором требований в Python.

Предупреждение безопасности должно говорить о другом языке — возможно, это был Gemfile (Ruby)?

person wim    schedule 13.02.2019
comment
Похоже, я неправильно понял GitHub. Они имели в виду обновление до этого номера версии, когда я думал, что они предоставляют фактическую строку текста, которая должна быть включена в файл requirements.txt. Немного сбивает с толку, когда он выглядит так близко к реальному синтаксису этих вещей... - person Stephen Cowley; 13.02.2019