我熟悉使用requirements.txt
or安装依赖项environment.yml
,但我只在这些文件中见过语法,例如some_package>=1.2.3
.
当依赖项用大括号列出时,这意味着什么,如下所示:
pytest = "^6.2.5"
coverage = {extras = ["toml"], version = "^5.5"}
safety = "^1.10.3"
mypy = "^0.910"
typeguard = "^2.12.1"
xdoctest = {extras = ["colors"], version = "^0.15.5"}
Sphinx = "^4.1.2"
sphinx-autobuild = "^2021.3.14"
以及如何安装这些依赖项?
尝试通过将文件视为requirements.txt
或来安装它们,分别environment.yml
抛出ERROR: Invalid requirement
或CondaValueError: invalid package specification
。
python-poetry使用该格式来定义
pyproject.toml
文件中的依赖项,通常位于[tool.poetry.dependencies]
正如PEP 508所解释的,包可以具有额外的依赖关系,从而启用给定包的可选功能(依赖于包)。
您可以安装诗歌并使用它来管理依赖项或将该列表转换为 conda 或 pip 可以理解的有效格式。
例如,pip 的依赖项列表如下所示: