小编hbl*_*nco的帖子

从 monorepo 安装 Python 包

我们有一个私有的 git monorepo,它托管着许多 Python 包。Poetry 是最初为该项目选择的依赖管理工具。无论如何,由于这个 Poetry 问题,涉及创建新文件的解决方案不会被接受setup.py

\n

结构的简化版本:

\n
git-monorepo\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pkg-1\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pkg\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mod1.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pkg-2\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pkg\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mod2.py\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 pkg\n    \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib.py\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pyproject.toml\n
Run Code Online (Sandbox Code Playgroud)\n

库分发包lib独立于任何其他包。然而,pkg-1取决于libpkg-2取决于pkg-1lib

\n

所以,问题是:

\n

pip从这个 monorepo 安装软件包的正确方法是什么?

\n

让我们考虑一下我们尝试安装的示例pkg-1,其中pkg-1/pyproject.toml包括以下行:

\n
...\n\n[tool.poetry.dependencies]\nlib = {path = "../lib/"}\n\n...\n
Run Code Online (Sandbox Code Playgroud)\n

运行结果,如VCS 支持文档pip中所述:

\n …

python git pip monorepo python-poetry

7
推荐指数
1
解决办法
1131
查看次数

标签 统计

git ×1

monorepo ×1

pip ×1

python ×1

python-poetry ×1