我的
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 标识符。
我做错了什么?
请注意:当不使用分隔符时,一切正常,但我觉得应该可以使用一个。
一种可能性是
pip
警告 extras
名称缺乏规范化。
这是 PEP 685 授权的相对较新的部署(setuptools
年),并且尚未在 setuptools
中完全实施。
我怀疑较新版本的 setuptools 会自动进行规范化,但是,正如您所提到的,
setuptools
pyproject.toml
验证尚未更新以考虑 PEP 685。您是否尝试过在中使用最新版本的 setuptools [build-system] requires
?
另一种可能性是
pip
希望您在 package[some-extra]
命令中写入 pip install
。