我正在为使用 spaCy 库的包(使用 setuptools 69.2.0)创建 pyproject.toml 文件。 我的目标是将 spaCy 管道下载作为“pip install [package]”过程的一部分。 我的问题是管道不是依赖项,而是使用“python -m spacy download en_core_web_sm”安装的。 在 pyproject.toml 文件中调用下载的正确方法是什么?
spaCy 通过将其作为依赖项包含在 .toml 文件中来正确安装(可在本地安装可编辑包),但需要下载管道才能使其工作,并且我无法确定如何将其正确包含在 .toml 文件中。
我不知道这是否是可接受的方式,但我设法通过在 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'
绝不是一个完美的解决方案,但这应该可以实现你想要的。