Как 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 строка в моем файле требований.



есть ли способ сделать это?

547   3  

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.0
  • 0.5.9
  • 0.6.0

для уточнения, каждая пара эквивалентна:

~= 0.5.0
>= 0.5.0, == 0.5.*

~= 0.5
>= 0.5, == 0.*

Comments

    Ничего не найдено.