Учитывает ли pip актуальную версию Python при установке совместимых версий пакетов? - PullRequest
2 голосов
/ 17 февраля 2020

У меня есть библиотека, которая должна поддерживать несколько версий Python, начиная с 2.6. Например, одно из моих требований - requests. Я знаю, что последняя версия, поддерживающая Python 2.6, - 2.19.1 (последняя версия 2.20.0 поддерживает любые Python> = 2.7).

Поэтому мой вопрос заключается в том, понимает ли pip, что строка requests~=2.19 в требованиях следует установить 2.19.1 для Python 2.6 и 2.20.0 для любой более высокой версии Python?

Update. Вопрос не в синтаксисе, мне любопытно, достаточно ли умный pip и в среде Python 2.6 сможет не go превысить 0.19.1.

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Полагаю, да, pip учитывает версию текущего интерпретатора Python, чтобы выбрать подходящую версию (или распространение версии) проекта. установить. Так как pip install 'requests~=2.19' является эквивалентом pip install 'requests>=2.19,requests==2.*', на сегодняшний день он должен дать ( 2020-02-18 ):

  • запросов 2.19.1 на Python 2,6 ; и
  • запросы 2,22,0 на Python 2,7 .
0 голосов
/ 17 февраля 2020

Насколько я знаю, да, это возможно при использовании спецификаторов версии в вашем файле требований.

Пример:

requests>=2.19.1,<=2.20.0

Использование оператора ~ = будет результат в пакете из диапазона 2.19 для Python 2.7, потому что это означает: установить пакет больше или равный версии 2.19.1, но все еще в версии 2.19.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...