如何在同一个 monorepo 内的 Python 项目之间共享开发依赖项?

时间:2021-05-15 03:58:58

标签: python monorepo python-poetry

我有两个这样的 monorepos:

.
├── monorepo1/
│   ├── apps/
│   │   ├── app1/
│   │   └── app2/
│   └── libs/
│       ├── lib1/
│       └── lib2/
└── monorepo2/
    ├── apps/
    │   ├── app3/
    │   └── app4/
    └── libs/
        ├── lib3/
        └── lib4/

每个 monorepo 包含 appslibs,其中包含 python 包。

我想为同一个 monorepo 共享 dev-dependencies,但我没有找到办法做到这一点。我正在使用 Poetry 来管理 Python 包依赖项。

  • 使用 poetry add -D 只会在该 Python 包(例如 app1)中安装 dev-dependencies
  • 将包安装为全局包会影响其他 monorepos。

如何在 monorepo1 中一次性安装 dev-dependencies?

此外,我正在使用 VSCode,并为每个 python 项目设置 settings.json 以使用它自己的 python 环境。例如:

// monorepo1/apps/app1/.vscode/settings.json
{
  "python.pythonPath": ".venv/bin/python",
}

我如何才能找到 monorepo 的 dev-dependencies(例如 pytest / pylint / black / ipykernel ... ) 而不为同一个 monorepo 中的每个 python 项目安装那些开发依赖项?

1 个答案:

答案 0 :(得分:0)

你不能这样做。诗歌的理念是将每个项目分开。但是有一些关于如何支持子包的想法。见https://github.com/python-poetry/poetry/issues/2270

相关问题