#python #pip #distribute
#python #pip #распространять
Вопрос:
В моем requirements.txt
файле я хочу указать, что моему приложению нужен Django версии 1.3.x. То есть либо 1.3.0, либо 1.3.1, либо 1.3.2 и т.д. (Когда они выйдут.) Но не 1.4, когда она выйдет.
Какой синтаксис для этого?
Ответ №1:
Согласно Яну Бикингу:
Django>=1.3,<1.4
Однако, очевидно, что это делать безопаснее:
Django>=1.3,<1.3.99
Комментарии:
1. Возможно, это очевидно, но имейте в виду, что если вы хотите автоматически обновлять Django при выходе новой версии на PyPI, вам следует вызвать pip с флагом —upgrade , вот так:
pip install --upgrade -r requirements.txt
2. Что произойдет, если у вас (гипотетически) был Django
v1.3.100
или более поздняя версия?3. Вы можете использовать
~=1.3.0
для получения последней версии исправления, см. nok.github.io/pipdev?spec =~=1.3.0amp;версии=1.3.9999 .
Ответ №2:
моему приложению нужен Django версии 1.3.x
В вашем случае используйте один из:
Совместимый выпуск
Django~=1.3.0
Ссылка: версия, совместимая с PEP 440
Соответствие версии
Django==1.3.*
Ссылка: соответствие версии PEP 440
Упорядоченное сравнение
Django>=1.3,<1.4
Примечание: упорядоченные операторы работают для вашего случая после изменения, внесенного в этот коммит в 2015 году
Ссылка: PEP 440 включает упорядоченное сравнение
Ссылка: PEP 440 Эксклюзивное упорядоченное сравнение