Python 使用Pipenv在包之间拆分依赖项
我正在开发一个Python代码库,该代码库分为3个不同的包:Python 使用Pipenv在包之间拆分依赖项,python,python-3.x,pip,package,pipenv,Python,Python 3.x,Pip,Package,Pipenv,我正在开发一个Python代码库,该代码库分为3个不同的包: common是其他软件包使用的库 datascience使用common并包含大量非常大的lib(numpy/scipy/…) api它只使用common 我正在使用pipenv管理我的依赖项,现在在根目录下有一个Pipfile,其中包含所有库。 问题是api打包了datascience所需的所有非常大的lib,即使它没有使用它们 . ├── Pipfile ├── common | ├── __init__.py | └
是其他软件包使用的库common
使用datascience
并包含大量非常大的lib(numpy/scipy/…)common
它只使用api
common
pipenv
管理我的依赖项,现在在根目录下有一个Pipfile
,其中包含所有库。
问题是api
打包了datascience
所需的所有非常大的lib,即使它没有使用它们
.
├── Pipfile
├── common
| ├── __init__.py
| └── common.py
├── datascience
| ├── __init__.py
| └── ds.py
├── api
├── __init__.py
└── handler.py
我希望能够部署api
包,包括common
包及其依赖项,而不需要datascience
包及其dep。
类似地,我还需要构建datascience
包,包括common
包及其依赖项,而不需要api
包及其dep
我试着做到以下几点:
.
├── 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
。
├── 常见的
| ├── 我认为这里有一些根本性的错误pipenv
用于管理应用程序依赖项。如果您希望您的子模块可以作为独立的应用程序运行,例如“python-m[submodule]”,那么就可以了。“我希望能够在没有数据科学包及其dep的情况下部署api包,包括公共包及其依赖项”-您需要将它们视为不同的包并删除”“根上的单个Pipfile”或将此“单个Pipfile”视为用于开发环境的Pipfile我认为这里有一些根本错误。pipenv
用于管理应用程序依赖项。如果您希望子模块可以作为独立的应用程序运行,例如“python-m[submodule]”,那么这是可以的。“我希望能够在没有datascience包及其DEP的情况下部署api包,包括通用包及其依赖项”-然后您需要将它们视为不同的包并删除“根目录下的单个Pipfile”,或者将此“单个Pipfile”视为开发环境的Pipfile