Разделить зависимости между пакетами с помощью Pipenv - PullRequest
0 голосов
/ 07 февраля 2019

Я работаю над базой кода 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 но это не удалось.

...