Развертывание Django с помощью virtualenv внутри дистрибутивного пакета? - PullRequest
6 голосов
/ 03 ноября 2010

Мне нужно развернуть приложение Django в системе SuSE Linux Enterprise 11. Корпоративные правила говорят, что мне нужно развертывать только с помощью RPM. Хотя я могу использовать ./setup.py bdist_rpm для каждой зависимости, это не совсем нормально, поскольку RPM еще не записывает все зависимости. Поэтому у меня не было бы реального преимущества в использовании RPM, а управление зависимостями вручную несколько обременительно, и я бы хотел этого избежать.

Теперь у меня возникла следующая идея: при создании пакета я мог создать virtualenv, установить все свои зависимости через pip и затем упаковать его с остальным кодом в один твердый RPM.

Насколько разумен этот подход?

1 Ответ

2 голосов
/ 15 января 2011

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

Одно замечание: вы захотите проверить строки взрыва в любых сценариях Python, написанных дляКаталог бинарника virtualenv.В конечном итоге это будут полные пути, используемые в вашей среде сборки, которая, вероятно, не будет той же директорией, где вы в конечном итоге устанавливаете virtualenv.Поэтому вам может потребоваться добавить несколько вызовов sed в postinstall вашего RPM, чтобы скорректировать пути.

...