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