#python #flask #cloud-foundry
#python #фляжка #cloud-foundry #flask
Вопрос:
Я пишу группу приложений CF microservices на python / flask. Всего 6 приложений. Все они используют несколько локальных модулей python.
Я не могу придумать достойный способ управления этими модулями таким образом, чтобы при каждом «cf push» приложения я получал включаемые текущие версии этих модулей.
Я могу, конечно, использовать оболочку для «cf push», чтобы скопировать модули в каталог ./local/. Однако это похоже на небольшой взлом.
Я не думаю, что это имеет значение, но все эти приложения и модули находятся в одном репозитории GitHub.
Быстрое обновление: в настоящее время я копирую каталоги модулей в каждый каталог непосредственно перед cf push, а затем очищаю эти копии. Это взлом, но мне нужно было запустить эти приложения. Я все равно хотел бы услышать от кого-нибудь, у кого есть лучший способ справиться с этим.
Комментарии:
1. Используете ли вы setuptools? Если вы можете, вы можете следовать этому процессу, чтобы «настроить» свои зависимости.
pip install
Пакет сборки Python будет включать библиотеки поставщиков, как и другие библиотеки. docs.cloudfoundry.org/buildpacks/python/index.html#vendoring . Однако библиотеки поставщиков не обязательно должны быть общедоступными, поскольку они добавляются вместе с вашим приложением.2. Дэниел, это выглядит как победа. Спасибо!
Ответ №1:
Если ваша библиотека Python использует setuptools, то вы должны быть в состоянии pip install
это сделать. Если вы можете pip install
это сделать, вы можете следовать процессу Cloud Foundry для «поставщика» ваших зависимостей.
Пакет сборки Python будет включать все библиотеки поставщиков в приложение, как и другие библиотеки, загруженные из Интернета. Смотрите Документы для процесса создания библиотеки. Однако библиотеки вашего поставщика не обязательно должны быть общедоступными, поскольку они просто добавляются вместе с остальной частью вашего приложения.