2016-09-09 4 views
4

Итак, я создаю новое приложение Flask с нуля. Как и все хорошие разработчики, моим первым шагом было создание виртуальной среды.Управление содержимым файла требований.txt для виртуальной среды Python

Первое, что я установить в виртуальной среде Колба == 0.11.1.Flask устанавливает свои следующие зависимости:

  • нажмите == 6,6
  • itsdangerous == 0,24
  • Jinja2 == 2.8
  • MarkupSafe == 0,23
  • Werkzeug == 0.11.11
  • колеса == 0.24.0

Теперь я создаю requirements.txt для обеспечения всех клонировать репозиторий имеет ту же версию libraries.However, моя дилемма заключается в следующем:

  • ли я упоминаю каждый из зависимостей колб в requirements.txt вместе с номерами версий ИЛИ
  • ли я просто упомянуть точное число Колбы версии в requirements.txt и надеюсь, что, когда они делают пункт установить requirements.txt, настой будет заботиться о управлении зависимостями, и они будут загружать правильные версии зависимых библиотек
+1

Посмотрите на 'пип-compile' команды в [пип-инструменты] (https://github.com/nvie/pip-tools/blob/master/README.md). – dirn

+0

@ dirn..это действительно приятно .. спасибо за это .. – Amistad

ответ

1

Оба подхода является действительным и работой. Но есть небольшая разница. Когда вы вводите все зависимости в requirements.txt, вы сможете прикрепить их версии. Если вы оставите их, возможно, будет более позднее обновление, и если в его флагах есть что-то вроде Werkzeug>=0.11, вы получите более новую версию Werkzeug.

Таким образом, это сводится к обновлению по сравнению с определенной средой. Все, что вам подходит.

3

Вы может (с вашей активной виртуальной среды) сделайте следующее:

pip freeze > requirements.txt 

который автоматически позаботится обо всех библиотеках/модулях, доступных в вашем проекте.

Следующий разработчика будет только выдавать:

pip install -r requirements.txt 
8

Хорошо, что вы используете virtualenv, что сделает вашу задачу очень простой.

  1. Activate virtualenv ($source path_to_virtualenv/bin/active)
  2. Перейдите в корневой каталог проекта
  3. Получить все пакеты вместе с зависимостями требованиями.TXT

    pip freeze > requirements.txt 
    
  4. Вы не должны беспокоиться что-нибудь еще, кроме убедившись, что следующий человек устанавливает требования рекурсивно следующей командой

    pip install -r requirements.txt 
    

 Смежные вопросы

  • Нет связанных вопросов^_^