Как правильно упаковать Python приложения в DEB пакет?
Разрабатываю очередной проект, есть возможность творчески реализовать себя. Решил по полной настроить окружение и деплой. Сам проект написан на Django (1.8, python 3.4).
Для настройки окружения и деплоя использую Ansible, но что мне не нравится - это установка dev пакетов и компиляция зависимостей на каждом сервере. Гугление вывело на упаковку приложений в deb-пакеты. Но хороших, объемных туториалов/гайдов я так и не нашел. Сейчас установка приложения выглядит примерно так:
1. Качаем репозиторий.
2. Устанавливаем virtualenv.
3. Устанавливаем зависимости pip.
4. Рестартуем все сервера.
Вопрос простой - как реализовать упаковку приложения в deb пакет? Может быть есть статьи, блоги, нацеленные на данную тему?
PS. Вышел на wheel пакеты. Их как-то можно в этот процесс упаковки в deb интегрировать или это совсем из другой оперы?
С wheel просто. Создаешь локально папочку с wheel-пакетами, они там уже скомпилены. Копируешь ее на сервер и устанавливаешь оттуда. При желании можно и в deb пакет ее завернуть.
Я думаю для начало хватит от чего оттолкнутся. Примеры могут быть устаревшими.
Что будет в deb пакет, не особо важно. Там может быть и просто текстовый файл.
В вашем случаи мы подготавливаем все окружение например в /opt/my_project
Создаем deb пакет и прописываем зависимости по пакетам.
Например перед установкой нашего пакета , нужно поставить python 3.4