背景
我们的项目具有以下高级目录结构*
./datascience/
├── core
│ └── setup.py
├── notebooks
│ └── Pipfile
└── web
└── Pipfile
*为简洁起见,排除了所有不相关的文件和目录。
该core
软件包是一个库。notebooks
它是应用程序和应用程序的依赖项web
。
作为一个库的core
包,其依赖项在setup.py
import setuptools
setuptools.setup(
install_requires=[
'some-dependency',
'another-dependency'
]
)
和应用程序使用pipenvweb
进行依赖管理。它们的依赖关系在.notebooks
Pipfile
例如,以下是如何在web
中指定依赖项web/Pipfile
:
[packages]
datascience-core = {path = "./../core"}
flask = "~= 1.0"
请注意core
依赖项如何是本地依赖项,因此是相对路径。
问题
pipenv install
从web
or目录中执行notebooks
操作,不会core
像我预期的那样安装库的依赖项!
我还尝试使用Pipfile
for core
,希望 pipenv 能在它的图中找到它并下载所有嵌套的依赖项。但事实并非如此。
当 pipenv 为or应用程序core
安装依赖项时,如何自动安装应用程序的依赖项?web
notebooks