Пожалуйста, объясните нумерацию версий в Pipfile - PullRequest
0 голосов
/ 17 июня 2019

При работе с Pipfile, написанным другими разработчиками, я обнаружил следующие эзотерические конструкции:

  • package = "~ = 3.4.2.17" Что это значит?Я предполагаю, это означает, что любая версия когда-либо, только не 3.4.2.17?

  • package = "== 1.12.0" Чем это отличается от package = "1.12.0"?

И вообщеКак правильно указать номер версии или диапазон?

Существует специальный git-проект https://github.com/pypa/pipfile, только для спецификации Pipfile.Это, однако, не объясняет эти конструкции.

Можно предположить, что указанные значения просто неверны.Однако pipenv проглатывает их без сообщений об ошибках, поэтому это маловероятно.

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Формат описания версии указан в PEP 440 - Идентификация версии и спецификация зависимости .

  • ~=3.4.2.17 (совместимый пункт выпуска) означает версию 3.4.2.*, которая больше или равна 3.4.2.17
  • ==1.12.0 (предложение о соответствии версии) действительно означает версию 1.12.0, но с некоторыми подробностями о работе подстановочных знаков, которые объясняются в документации PEP.
0 голосов
/ 17 июня 2019

С https://www.python.org/dev/peps/pep-0440/, это следующие данные:

  • ~= Совместимо
  • == Совпадения, .* возможно
  • != исключая
  • <=, >= включительно (заказано)
  • <, > эксклюзивно (заказано)
  • === произвольное равенство.

Запятая (,) означает логические и .

...