Как правильно упаковать Python приложения в DEB пакет?

Разрабатываю очередной проект, есть возможность творчески реализовать себя. Решил по полной настроить окружение и деплой. Сам проект написан на Django (1.8, python 3.4).

Для настройки окружения и деплоя использую Ansible, но что мне не нравится - это установка dev пакетов и компиляция зависимостей на каждом сервере. Гугление вывело на упаковку приложений в deb-пакеты. Но хороших, объемных туториалов/гайдов я так и не нашел. Сейчас установка приложения выглядит примерно так:

1. Качаем репозиторий.
2. Устанавливаем virtualenv.
3. Устанавливаем зависимости pip.
4. Рестартуем все сервера.

Вопрос простой - как реализовать упаковку приложения в deb пакет? Может быть есть статьи, блоги, нацеленные на данную тему?

PS. Вышел на wheel пакеты. Их как-то можно в этот процесс упаковки в deb интегрировать или это совсем из другой оперы?
  • Вопрос задан
  • 2641 просмотр
Пригласить эксперта
Ответы на вопрос 3
un1t
@un1t
С wheel просто. Создаешь локально папочку с wheel-пакетами, они там уже скомпилены. Копируешь ее на сервер и устанавливаешь оттуда. При желании можно и в deb пакет ее завернуть.

pip wheel --wheel-dir=/path/to/dir lxml
pip install --no-index --find-links=/path/to/dir
Ответ написан
Комментировать
@marazmiki
Укротитель питонов
stdeb, например?
Ответ написан
Комментировать
icCE
@icCE
youtube.com/channel/UC66N_jRyZiotlmV95QPBZfA
Вам надо прочитать руководство по сборки deb пакетов.

help.ubuntu.ru/wiki/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0...
habrahabr.ru/post/78094

Я думаю для начало хватит от чего оттолкнутся. Примеры могут быть устаревшими.
Что будет в deb пакет, не особо важно. Там может быть и просто текстовый файл.

В вашем случаи мы подготавливаем все окружение например в /opt/my_project
Создаем deb пакет и прописываем зависимости по пакетам.
Например перед установкой нашего пакета , нужно поставить python 3.4
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы