Я работаю над базой кода Python, которая разбита на 3 разных пакета:
common
, которая является библиотекой, используемой другими пакетами datascience
, которая используетcommon
и содержит много очень больших библиотек (numpy / scipy /...) api
, который использует только common
Я использую pipenv
чтобы управлять моими зависимостями и прямо сейчас иметь один Pipfile
в корне, который содержит все библиотеки.Проблема в том, что api
упаковывает все очень большие библиотеки, необходимые для datascience
, даже если он их не использует.
.
├── Pipfile
├── common
| ├── __init__.py
| └── common.py
├── datascience
| ├── __init__.py
| └── ds.py
├── api
├── __init__.py
└── handler.py
Я хотел бы иметь возможность развернуть пакет api
, включаяПакет common
и его зависимости без пакета datascience
и его пакетов.Точно так же мне нужно собрать пакет datascience
, включающий пакет common
и его зависимости без пакета api
и его deps.
Я попытался сделать следующее:
.
├── common
| ├── Pipfile << Only contains deps used by common pkg
| ├── __init__.py
| └── common.py
├── datascience
| ├── Pipfile << Only contains deps used by datascience pkg
| ├── __init__.py
| └── ds.py
├── api
├── Pipfile << Only contains deps used by api pkg
├── __init__.py
└── handler.py
cd api && pipenv install -e ../common
но это не удалось.