我们的项目具有以下高级目录结构*
./datascience/
??? core
? ??? setup.py
??? notebooks
? ??? Pipfile
??? web
??? Pipfile
Run Code Online (Sandbox Code Playgroud)
*为简洁起见,排除了所有不相关的文件和目录。
该core软件包是一个库。它是notebooks和web应用程序的依存关系。
该core程序包是一个库,其依赖项在setup.py
import setuptools
setuptools.setup(
install_requires=[
'some-dependency',
'another-dependency'
]
)
Run Code Online (Sandbox Code Playgroud)
在web和notebooks应用程序是使用pipenv依赖管理。它们的依赖关系在中指定Pipfile。
例如,这是在web中指定依赖项的方式web/Pipfile:
[packages]
datascience-core = {path = "./../core"}
flask = "~= 1.0"
Run Code Online (Sandbox Code Playgroud)
注意,core依赖关系是本地依赖关系,因此是相对路径。
做一个pipenv install从内部web或notebooks目录,不安装的依赖性core如我所料库!
我还尝试使用Pipfilefor …