Развертывание приложения Django Opensource с зависимостями

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

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

Я привык к рубину в стиле рельсов, где вы порхаете свои драгоценные камни и плагины в каталог поставщика и все, на что вам нужно положиться.

Каков аналогичный способ django для развертывания приложения со всеми связанными зависимостями? Я бы предпочел не использовать что-то вроде easy_install для выключения зависимостей после установки.

Этот ответ на переполнение стека Python кажется, что он на правильном пути, но есть ли какой-либо способ для перехода на django? Решена ли эта проблема?

2 ответа

Это одно из больших ограничений с Django "Многоразовое приложение". В подкасте "Эта неделя в Django" неделю или две назад они говорили об этой точной проблеме. Похоже, что консенсус, и я согласен, заключается в том, что на самом деле это не решение.

Если вы посмотрите на Pynax, который, вероятно, является самым крупным распределенным проектом Django, вы увидите, что они объединяют приложения со всей системой.

Сам Python имеет несколько дистрибутивов пакетов. Я знаю, что ActiveState работает над запуском другого. Но даже тогда не все приложения django упакованы. Многие из них встречаются только в битбакете, github или источнике google. И даже тогда, чтобы получить копию всех этих, требуется, чтобы у вас был mercurial, git и svn. (blah @that)

В основном у вас есть 2 варианта:

  • Включить копию каждой зависимости с вашим источником
  • Включить документацию о том, как пользователи устанавливают заданную зависимость.

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

Если это интересно, я написал короткое сообщение в блоге о сохранении зависимостей в папке проекта (или в SVN), а затем добавив этот путь к пути поиска Python в начале django. (Управление зависимостями Django через SVN) Он закручивает Komodo Edit intellisense, но в противном случае это упростит.


Лучше всего использовать pip. pip - это утилита для установки пакетов python. он позволяет создавать файлы требований, в которых перечислены зависимости для проекта. pip довольно распространен и широко используется сообществом Django, и я настоятельно рекомендую его использовать.

Как сказал Т. Стоун Pinax, проект на основе Django имеет множество зависимостей и они довольно успешно используют файлы требований к протоколам.

licensed under cc by-sa 3.0 with attribution.