На моем рабочем месте мне приходится управлять многими (в настоящее время десятками, а возможно, сотнями) веб-приложениями на Python, потенциально работающими с различными фреймворками, библиотеками и т. Д. (Все в разных версиях).До сих пор Virtualenv спасал ее, но я все же хотел бы иметь возможность лучше управлять, особенно когда речь идет об управлении обновлениями пакетов.
Я подумал о нескольких сценариях
Вариант 1. Установите все необходимые модули для каждого проекта в каждом virtualenv с помощью pip, обновите каждый по мере необходимости.Это потребует значительных временных затрат на каждое обновление и потребует дополнительной документации для отслеживания событий.Это может быть облегчено некоторыми сценариями управления.
Вариант 2: Установите все библиотеки, используемые любым приложением, в центральном хранилище, используйте символические ссылки для простого изменения версий один раз для всех проектов.Простое обновление и централизованное управление, но в первую очередь он упускает некоторые из самых приятных преимуществ использования virtualenv.
Вариант 3: каким-то образом гибридизуйте два вышеупомянутых варианта, централизуя наиболее распространенные библиотеки и / или библиотеки, которые могут нуждаться в обновленияхустановка остальных локально для каждого virtualenv.
У кого-нибудь еще есть подобная ситуация?Какой лучший способ справиться с этим?