如何使用诗歌进行递归安装?

问题描述

我正在尝试使用诗歌包管理器安装 this 存储库。 以下是使用 pip 的方法

git clone --recursive https://github.com/parlance/ctcdecode.git
cd ctcdecode && pip install .

但是如果我试着跑

poetry add ctcdecode

它因大量回溯而失败(我认为超过 200 行)。 所以我用

安装了它
poetry run git clone --recursive https://github.com/parlance/ctcdecode.git
poetry run pip install ./ctcdecode

但是这种方式不适合与其他开发者共享。 我可以用 pyproject.toml 以某种方式做到这一点吗?

解决方法

poetry add <packagename> 将 pypi 上可用的依赖项(或如果配置了其他包存储库)添加并安装到您的项目。

如果要添加包,其中源代码位于 git 存储库中,请使用 poetry add git+<url_of_git>

ctcdecode 在这两种方式中的问题是,它需要构建。为此,需要 torchctcdecode 未根据 PEP 518pyproject.toml 中声明此构建依赖项。

您可以通过克隆 git 存储库并将包含此内容的 pyproject.toml 放入项目文件夹来解决此问题:

[build-system]
requires = ["setuptools","torch"]
build-backend = "setuptools.build_meta"

然后返回到您当前的项目并添加本地路径依赖项,如下所示:

$ poetry add <relative_path_to_ctcdecode>