Как установить пакет с минимальным и максимальным диапазоном?
Мне интересно, есть ли способ сообщить pip, в частности, в файле требований, установить пакет с минимальной версией (pip install package>=0.2
) и максимальную версию, которая никогда не должна быть установлена (теоретический api: pip install package<0.3
).
Я спрашиваю, потому что я использую стороннюю библиотеку, которая находится в активной разработке. Я бы хотел, чтобы мой файл требований к приложениям указывал, что он должен всегда устанавливать самую последнюю небольшую версию ветки 0.5.x, но я не хочу, чтобы программа никогда не пыталась установить новые более крупные версии (например, 0.6.x), поскольку API отличается. Это важно, потому что, хотя ветвь 0.6.x доступна, разработчики все еще выпускают исправления и исправления для ветки 0.5.x, поэтому я не хочу использовать статический package==0.5.9
в файле требований,
Есть ли способ сделать это?
Ответы
Ответ 1
Вы можете сделать:
$ pip install "package>=0.2,<0.3"
И pip
будет искать наилучшее соответствие, предполагая, что версия не менее 0,2 и меньше 0,3.
Это также относится к файлам требований . Подробные сведения о спецификаторах версии см. В PEP 440.
Ответ 2
вы также можете использовать:
pip install package==0.5.*
который является более последовательным и легко читаемым.
Ответ 3
Элегантным методом было бы использовать оператор ~=
совместимый оператор выпуска в соответствии с PEP 440. В вашем случае это будет:
package~=0.5.0
В качестве примера, если существуют следующие версии, он выбирает 0.5.9
:
Для пояснения каждая пара эквивалентна:
~= 0.5.0
>= 0.5.0, == 0.5.*
~= 0.5
>= 0.5, == 0.*