我正在研究一个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
软件包及其dep。
同样,我还需要构建datascience
程序包,其中包括datascience
程序包及其依赖项,而common
程序包及其dep除外。
我尝试执行以下操作:
api
.
├── 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
,但失败了。