如何在 pyproject.toml 中使用连字符或下划线指定可选依赖项?

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

我的

pyproject.toml
中有以下部分:

[tool.setuptools.dynamic.optional-dependencies]
some_extra = {file = ["requirements-some-extra.txt"]}

但是,当我尝试安装带有上述额外内容的软件包时,如下所示:

pip install -e "./package[some_extra]"

然后我收到来自

pip
的警告:

WARNING: package 0.0.1 does not provide the extra 'some-extra'

同时,

pyproject.toml
键中也不允许使用连字符。我试过了

[tool.setuptools.dynamic.optional-dependencies]
some-extra = {file = ["requirements-some-extra.txt"]}

但密钥必须是有效的 python 标识符。

我做错了什么?

请注意:当不使用分隔符时,一切正常,但我觉得应该可以使用一个。

python setuptools python-packaging pyproject.toml
1个回答
0
投票

一种可能性是

pip
警告
extras
名称缺乏规范化。 这是 PEP 685 授权的相对较新的部署(
setuptools
年),并且尚未在
setuptools
中完全实施。

我怀疑较新版本的 setuptools 会自动进行规范化,但是,正如您所提到的,

setuptools
pyproject.toml
验证尚未更新以考虑 PEP 685。您是否尝试过在中使用最新版本的 setuptools
[build-system] requires


另一种可能性是

pip
希望您在
package[some-extra]
命令中写入
pip install

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