Я хотел бы найти способ установить свой собственный пакет Python, который зависит от других пользовательских пакетов Python.
Я следовал этому руководству, чтобы создавать свои собственные пакеты Python: https://python -packaging.readthedocs.iao / en / latest /
Для всех пакетов минимальная структура:
myOwnPackage/
myOwnPackage/
__init__.py
setup.py
Теперь я создал пакет, который зависит от других пользовательских пакетов. Его структура:
myOwnPackage/
dependencies/
packageA
packageB
myOwnPackage/
__init__.py
setup.py
Мой вопрос: как легко установить myOwnPackage
и его пользовательские зависимости с помощью pip?
В приведенном выше примере я хотел бы установить myOwnPackage, packageA и packageB, когда я вызываю pip следующим образом: pip install myOwnPackage
Я не нашел способа включить имена зависимостей в setup.py, как я могу сделать для официальных пакетов python, таких как numpy
, pyqt5 и т. Д.
Я нахожу способ частично решить мою проблему, используя файл require.txt с pip:
pip install -r requirements.txt myOwnPackage
и вот как я написал файл требований:
./dependencies/packageA
./dependencies/packageB
Я хорошо работаю, но не тогда, когда у меня есть такие рекурсивные зависимости:
myOwnPackage/
dependencies/
packageA/
dependencies/
packageC
packageA/
__init__.py
setup.py
requirements.txt
packageB
myOwnPackage/
__init__.py
setup.py
requirements.txt
pip с требованиями верхнего уровня. Txt установит myOwnPackage, packageA и packageB, но не знает, что ему нужно установить packageC, который является зависимостью packageA.
Есть идеи?