Использование virtualenv с устаревшими проектами Django - PullRequest
8 голосов
/ 21 марта 2012

Наконец-то я собираюсь начать использовать virtualenv для моих проектов Django на моей машине для разработки.Прежде чем я начну, я хочу знать, есть ли какие-либо особые соображения по поводу моих существующих проектов.Мой предполагаемый рабочий процесс выглядит примерно так:

  1. создайте новый virtualenv
  2. активируйте новый virtualenv
  3. Установите там Django
  4. pip установите всепакеты, которые мне нужны для моего существующего проекта
  5. скопируйте файлы проекта Django, файлы приложений и файлы git в папку проекта в virtualenv.

Редактировать 6. создайте файл требований для развертывания

Это, очевидно, очень упрощено, но есть ли какие-то шаги или соображения, которые я в основном упускаю?Git будет рад переехать?Кроме того, лучше ли иметь отдельный virtualenv для каждого проекта Django?

Я знаю, что это не типичная проблема с кодом, но я надеюсь, что те, кто знает больше, чем я, могут указать мне правильное направление.

Большое спасибо.

1 Ответ

6 голосов
/ 21 марта 2012

Я не вижу большой проблемы при переносе ваших проектов, и я думаю, что ваш пятиэтапный план верен, в частности, для шагов 3/4/5 (я бы объединил их) вы можете обрабатывать зависимости проекта с помощьюpip, возможно, используя файлы требований .

Файлы требований - это простые текстовые файлы, сообщающие pip, какие пакеты должны быть установлены в вашем virtualenv, включая ваши отслеживаемые git-проекты, которые в конечном итоге могут быть развернуты вваша виртуальная среда как яйца разработки (они приносят с собой информацию о контроле версий).Когда у вас есть файл req, нужно:

pip install -r file.req

, чтобы все необходимые пакеты были установлены в вашей среде.Как вы можете видеть из документов virtualenv, типичный файл req будет содержать что-то вроде:

django==1.3.0
-e git://git.myproject.org/MyProject.git#egg=MyProject

Я обычно держу каждый проект в своем собственном virtualenv, поэтому я могу развернуть его на производственном сервере так же, как и я.для местного развития.

...