Проблема, с которой я столкнулся сейчас, заключается в том, что если код в подмодуле git имеет внешние зависимости pip, как проекты верхнего уровня разрешают эти зависимости в дополнение к своим собственным?
В своем репозитории подмодулей включите ваши зависимости как обычно в requirements.txt
.
Затем в своей документации обязательно включите инструкции по установке пакета подмодулей перед установкой A, B или C.
Например, предположим, что пакет A является foo, а подмодуль - bar.
tree
.
└── foo
├── bar
│ ├── bar
│ │ └── __init__.py
│ ├── requirements.txt # external pip dependencies
│ └── setup.py
├── foo
│ └── __init__.py
├── requirements.txt
└── setup.py # include
4 directories, 6 files
Тогда в вашу документацию вы можете включить что-то вроде этого,
Установка для Foo
# Initialize submodule(s)
git submodule update --init --recursive
# First install bar
cd bar
# Resolve any dependencies for bar
pip install -r requirements.txt
# Install bar
python setup.py install
# Now install foo
cd ..
# Resolve any other dependencies for foo
pip install -r requirements.txt
# Install foo
python setup.py install
Примечание. Это необходимо сделать для всех трех репозиториев, например, A, B и C.
Ресурсы: