我熟悉使用requirements.txtenvironment.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.txtenvironment.yml来安装这些文件,则会分别抛出ERROR: Invalid requirementCondaValueError: invalid package specification.

推荐答案

python-poetry使用该格式在pyproject.toml文件中定义依赖项,通常低于[tool.poetry.dependencies]

正如前面所解释的,PEP 508个包可以有extra dependencies个,这启用了给定包的可选功能(依赖于包).

您可以使用install poetry来管理依赖项,或者将该列表转换为conda或pip能够理解的有效格式.

例如,pip的依赖项列表如下所示:

pytest>=6.2.5
coverage[toml]>=5.5
safety>=1.10.3
mypy>=0.910
typeguard>=2.12.1
xdoctest[colors]>=0.15.5
Sphinx>=4.1.2
sphinx-autobuild>=2021.3.14

Python相关问答推荐

如何删除索引过go 的lexsort深度可能会影响性能?' &>

海运图:调整行和列标签

将数据框架与导入的Excel文件一起使用

管道冻结和管道卸载

如何在给定的条件下使numpy数组的计算速度最快?

如何将一个动态分配的C数组转换为Numpy数组,并在C扩展模块中返回给Python

为什么抓取的HTML与浏览器判断的元素不同?

Python脚本使用蓝牙运行在Windows 11与raspberry pi4

寻找Regex模式返回与我当前函数类似的结果

基于另一列的GROUP-BY聚合将列添加到Polars LazyFrame

用SymPy在Python中求解指数函数

为什么Python内存中的列表大小与文档不匹配?

将链中的矩阵乘法应用于多组值

在电影中向西北方向对齐""

如何在GEKKO中使用复共轭物

如何从比较函数生成ngroup?

Pandas:将值从一列移动到适当的列

如果列包含空值,则PANAS查询不起作用

合并Pandas中的数据帧,但处理不存在的列

基于2级列表的Pandas 切片3级多索引