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