Задача такая:
В проекте огромное количество зависимостей, как зависимостей Python, так и пакетов Linux. Когда разворачивали все окружение в прошлый раз, потратили несколько часов.
Понимаю, что окружение поднимается на рабочей машине 1 раз, но когда встает задача подключения новых разработчиков (будь это хоть бэкэнды или фронтенды) - каждый раз помогать им с поднятием окружения это боль.
Что вы используете для быстрого разворачивания окружения?
Должно 2-3 минуты хватить с нормальными инструментами.
Попробуйте vagrant и ansible.
Некоторые советуют docker, но его использование влияет на рабочий процесс (при разработке надо учитывать, что он есть).
К тому же насчет нескольких часов без автоматизации процесса вы оптимистичны. Попробуйте предположить, сколько уйдет времени на настройку системы у фронтендера, не знакомого с питоном.
А с автоматизацией несколько минут.
Самое простое -- bash скрипты для сборки всех зависимостей на Debian + разворачивание базы (скриптом), плюс конфиги супервизора ngnix. Потом вызываются make скрипты для сборки питон окружения конкретно проекта + миграции. Где-то до 10 минут (если виртуалка уже готова).
1. менеджер зависимостей + ansible
2. ваши готовые базовые образы вагранта (это если надо что-то локально распространить, например в группе разраотчиков). на продакшене никакого вагранта.
3. docker с набором ваших образов.
virtualenv и храню его копию в облаке... Если надо развернуть окружение на новой машине, портирую папку окружения из облака и указываю для проекта путь к питона в этой папке. Если делать не портирование, а сихронизацию -- то можно поддерживать единую среду сразу на нескольких машинах.
Способ предполагает одинаковые ОС на всех машинах. Не обязательно ОС одной версии, но если на одной машине Ubuntu, а на другой Windows - то способ не сработает. В вот если Windows 8.1 64 bit и Windows 7 x68 -- то запросто.
Еще секрет -- внутри окружения использовать 32-битные версии питон. Оно и для большей доступности библиотек полезнее.