Как структурировать проекты Python с общими подприложениями с помощью git и buidout без символических ссылок

У меня есть несколько проектов , которые совместно используют дочерние приложения с другими проектами . При работе в каталоге проекта я хочу иметь возможность вносить изменения в приложение , обновлять его и переносить эти обновления во второй проект .

Требование:

  • Не использовать символические ссылки (отладчик моей IDE не работает с ними)
  • Не компилировать / повторно запускать скрипт. Я хочу внести изменения в приложение без повторного запуска сценария / сборки.
  • Приложения должны находиться в папке проекта.

Вот структура:

app_one (git repo)
  |-- app_one (actual app uses by projects)
  |   +-- models.py
  |-- README.md
  +-- setup.py

project_one  (git repo)
  |-- project_one
  |   |-- apps
  |   |   |-- app_one
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py

project_two  (git repo)
  |-- project_two
  |   |-- apps
  |   |   |-- app_one (same app as project_one)
  |   |   |   +-- models.py
  |   |   | -- app_two
  |-- setup.cfg
  +-- setup.py

В настоящее время я использую для этого git-submodules; Обратной стороной является отсутствие возможности ссылки на подпапку репо. Я недавно читал о поддереве, будет ли это работать лучше?

В идеале я хотел бы использовать buildout , но я не нашел хорошего способа сделать это без использования символических ссылок. Если есть способ сделать это, дайте мне знать.

Мы будем очень благодарны за любые предложения.

5
задан Kyle Finley 21 August 2011 в 20:21
поделиться