Пакет проекта django и его зависимостей для автономного "продукта"

Я сделал небольшое небольшое приложение, использующее Django в качестве рамки. Это приложение, которое не предназначено для развертывания на сервере, но выполняется локально на машине. Таким образом, runerver.py работает просто хорошо.

Я, как разработчик, удобен с запуском терминала, запустив python manage.py runningerver.py и используя его. Но у меня есть друзья Mac OS X и Windows, которые хотят использовать это. И они не имеют virtualenv, а git и все настройки. Есть ли какой-то способ, я могу упаковать это как отдельный продукт? Конечно, это будет зависеть от того, установлен ли Python в системе, но возможно ли упаковать virtualenv с помощью django и всего остального и просто скопировать его в другую систему и заставить работать?

И, может быть, даже запустить какой-либо режим запуска в качестве режима деамонов?

Ответ 1

Да, вы можете его упаковать. Django, возможно, не самый простой способ сделать это, но принципы одинаковы для других фреймворков. Вам нужно сделать установщик, который устанавливает все, что вам нужно. И этот установщик должен быть другим для разных платформ. таких как Windows, Ubuntu, OS X и т.д. Это также означает, что ответ существенно отличается для каждой платформы, и только половина ответа зависит от Django.: - (

Этот вид отстой, но эта жизнь, в настоящее время. Не существует идеального независимого от платформы способа установки программного обеспечения для конечных пользователей.

Ответ 2

Используйте setuptools и easy_install.

Вот вступительная статья .

Ответ 3

Есть несколько способов сделать это. Я думаю, что вы больше ищете инструменты для сборки (включая упаковку), а не просто решение Python. Вот пара, которую я использовал в прошлом:

zc.buildout: используется для создания и развертывания модулей и приложений Python, но также может работать с другими языками с небольшим массированием. Прост в использовании (для инструмента построения).

make: классификация программного обеспечения. Работает практически со всеми языками, но немного архаичен и трудно учится для первого таймера.

Ответ 4

В эти дни Докер, вероятно, хороший ответ

Пользователь должен установить Docker сначала, но он работает на Windows и OSX, а также на Linux.

Ваш Dockerfile позаботится об установке всех зависимостей, а затем запустит devserver (или вы даже можете запустить соответствующий веб-сервер в контейнере)

Ответ 5

То, что вы ищете, это "Java":) Честно говоря, если я увижу другой пакет, который связывает apache tomcat, скорость templating и целую чертовую среду Java Runtime Environment, я взорвусь!

Хорошо, легкий троллинг, но другие ответы здесь сказали это лучше. Это сложно, и вам понадобится работа в командной строке. Не уверен, что кто-то успешно установил установщик django, работающий с py2exe, но может стоить google.