如何在pyproject.toml文件中引用spaCy管道?

问题描述 投票:0回答:1

我正在为使用 spaCy 库的包(使用 setuptools 69.2.0)创建 pyproject.toml 文件。 我的目标是将 spaCy 管道下载作为“pip install [package]”过程的一部分。 我的问题是管道不是依赖项,而是使用“python -m spacy download en_core_web_sm”安装的。 在 pyproject.toml 文件中调用下载的正确方法是什么?

spaCy 通过将其作为依赖项包含在 .toml 文件中来正确安装(可在本地安装可编辑包),但需要下载管道才能使其工作,并且我无法确定如何将其正确包含在 .toml 文件中。

python pip spacy pyproject.toml
1个回答
0
投票

我不知道这是否是可接受的方式,但我设法通过在 pyproject.toml 中提供管道轮的 URL 来做到这一点,如下所示:

[project]
...
dependencies = [
    "spacy>=3.7.6",
    "de-core-news-lg @ https://github.com/explosion/spacy-models/releases/download/de_core_news_lg-3.7.0/de_core_news_lg-3.7.0-py3-none-any.whl",
]

您可以在此处找到所需管道的版本:
https://github.com/explosion/spacy-models/releases

我使用 rye 通过 URL 安装它并将其添加到我的 pyproject.toml 中:

rye add de-core-news-lg --url="https://github.com/explosion/spacy-models/releases/download/de_core_news_lg-3.7.0/de_core_news_lg-3.7.0-py3-none-any.whl"

您也可以直接将 URL 传递给 pip,如果您愿意,您可以在 here 找到一些示例:

pip install 'de-core-news-lg @ https://github.com/explosion/spacy-models/releases/download/de_core_news_lg-3.7.0/de_core_news_lg-3.7.0-py3-none-any.whl'

绝不是一个完美的解决方案,但这应该可以实现你想要的。

© www.soinside.com 2019 - 2024. All rights reserved.