【发布时间】:2019-04-29 13:09:41
【问题描述】:
背景
我们的项目具有以下高级目录结构*
./datascience/
├── core
│ └── setup.py
├── notebooks
│ └── Pipfile
└── web
└── Pipfile
*为简洁起见,排除了所有不相关的文件和目录。
core 包是一个库。它是notebooks 和web 应用程序的依赖项。
core 包being a library 的依赖项在setup.py 中指定
import setuptools
setuptools.setup(
install_requires=[
'some-dependency',
'another-dependency'
]
)
web 和 notebooks 应用程序使用 pipenv 进行依赖管理。它们的依赖关系在Pipfile 中指定。
例如,下面是在web/Pipfile 中指定web 依赖项的方式:
[packages]
datascience-core = {path = "./../core"}
flask = "~= 1.0"
注意core 依赖是本地依赖,因此是相对路径。
问题
从web 或notebooks 目录中执行pipenv install,不会像我预期的那样安装core 库的依赖项!
我还尝试将Pipfile 用于core,希望 pipenv 能够在其图形中选择它并下载所有嵌套的依赖项。但事实并非如此。
当 pipenv 为 web 或 notebooks 应用程序安装依赖项时,如何自动安装 core 应用程序的依赖项?
【问题讨论】:
标签: python dependency-management setup.py pipenv pipfile