2014-09-05 3 views
2

Это может быть глупый вопрос, но я все же хотел бы спросить:Дубликат виртуальной среды для производства

Я занимаюсь разработкой проекта с использованием Django, CherryPy и Nginx. Я заметил, что файл requirement.txt обычно создается для указания пакетов и версий, установленных в среде разработки. Предположим, что каталог виртуальной среды - /home/me/project/python2Venv.

Когда я раскрываю мой проект Django (танго) в производство, проект копируется в каталог продукции:

sudo cp -r /home/me/project/tango /webapps/tango 

Для виртуальной среды, может я просто скопировать весь каталог с помощью следующей команды или я должен установить каждый из пакетов в производственную среду снова в соответствии с requirement.txt?

sudo cp -r /home/me/project/python2Venv /webapps/tango/python2Venv 

ответ

3

Я считаю, что virtualenv использует абсолютные пути в некоторых файлах, поэтому воссоздание env и установка пакетов с помощью требования. Txt были бы более безопасными.

+0

Я вижу. Большое спасибо. –

1

На мой взгляд, рекомендуется устанавливать пакеты с требованиями .txt. Копирование каталога, может стать кошмаром.

Скажите в обновлении 1: У вас есть 4 пакета с конкретной версией (pkg1-ver1, pkg2-ver1, pkg3-ver1, pkg-ver1).

В обновлении 2: Вы обновили один пакет до своей новой версии (pkg1-ver2). С требованиями .txt вы просто обновите один пакет. Вместо копирования всех пакетов (хотя, я не уверен, насколько хорошо будет работать копирование каталога).

Надеюсь, это поможет!

0

Необходимо установить пакеты с файлом requirements.txt.

Или вы можете использовать virtualenvwrapper. Это помогает локально клонировать виртуальные среды, такие как cpvirtualenv, rmvirtualenv и т. Д.

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