Это правильный метод для распространения приложения python с git и pip? - PullRequest
0 голосов
/ 17 января 2020

Я пишу python приложений для внутреннего пользования в моей компании. У всех на компьютере установлено python, но они не разработчики, поэтому клонирование репо или создание venv выходит за рамки их навыков. Я надеялся изменить свои приложения, чтобы они могли обновляться, когда я sh обновляю репо git на общем сетевом диске. Я хотел бы обновить код приложения, а также зависимости, установленные в каждой из его виртуальных сред.

Я думал обернуть свое приложение в некоторый код, который перед импортом любой из зависимостей:

  1. Проверяет, существует ли venv
    • , если его нет , создает один с использованием локальных требований. Если это так, то использует локальный файл require.txt
    • , пропускает этот шаг
  2. Проверяет, является ли тег версии репо git более новым, чем локальный git тег версии репо
    • Если доступна более свежая версия, он будет извлечен из основного репо. Репозиторий будет содержать только код приложения и файл require.txt
      • . Затем он будет pip install --upgrade новые или обновленные пакеты с использованием нового файла файл needs.txt
    • , если более новая версия недоступна, она просто запускает приложение

Все это кажется выполнимым и не очень сложным, но я не могу не чувствовать, что я изобретать велосипед здесь. Это кажется слишком ручным и слишком частой проблемой, чтобы не было лучшего способа сделать это. Что мне не хватает? Какой лучший способ справиться с этим? Всем спасибо за помощь!

...