2024-05-26 11:09:33 发布
网友
在来自pypi的包json响应的requires_dist部分中,给出了:
requires_dist
requires_dist : [ "bcrypt; extra == 'bcrypt'", "argon2-cffi (>=16.1.0); extra == 'argon2'" ]
有人能把每个依赖项的第二个语句extra == 'bcrypt'和extra == 'argon2'弄清楚吗?在
extra == 'bcrypt'
extra == 'argon2'
extra是一种依赖项,如果您明确要求,您可以在常规依赖项上安装。将它们视为可选功能。在
您可以使用==后面的名称和包的名称来安装这些文件。例如,如果您安装somepackage,并希望添加bcrypt可选功能,请使用:
==
somepackage
bcrypt
pip install somepackage[bcrypt]
或者
或者,要包括两个可选的附加项,请用逗号分隔名称:
虽然多次使用somepackage[...]也起到了^{的作用,但它足够聪明,可以知道主包已经安装。在
somepackage[...]
pip(或其他任何包安装工具)将<packagename>[<extras_name>(,...)]中列出的名称映射到{}中使用<dependency_spec>; extra == '<extras_name>'格式的条目,并将dependency_spec添加到要安装的内容列表中。在
pip
<packagename>[<extras_name>(,...)]
<dependency_spec>; extra == '<extras_name>'
dependency_spec
请参见Python Packaging User Guide的安装包部分中的Installing Setuptools "Extras"。在
由安装的软件包本身来检测是否安装了可选附加功能的所有依赖项。一个常见的模式是使用try...except ImportError:保护来测试是否存在这种额外的依赖关系。在
try...except ImportError:
extra是一种依赖项,如果您明确要求,您可以在常规依赖项上安装。将它们视为可选功能。在
您可以使用
==
后面的名称和包的名称来安装这些文件。例如,如果您安装somepackage
,并希望添加bcrypt
可选功能,请使用:或者
^{pr2}$或者,要包括两个可选的附加项,请用逗号分隔名称:
^{3}$虽然多次使用的作用,但它足够聪明,可以知道主包已经安装。在
somepackage[...]
也起到了^{pip
(或其他任何包安装工具)将<packagename>[<extras_name>(,...)]
中列出的名称映射到{<dependency_spec>; extra == '<extras_name>'
格式的条目,并将dependency_spec
添加到要安装的内容列表中。在请参见Python Packaging User Guide的安装包部分中的Installing Setuptools "Extras"。在
由安装的软件包本身来检测是否安装了可选附加功能的所有依赖项。一个常见的模式是使用
try...except ImportError:
保护来测试是否存在这种额外的依赖关系。在相关问题 更多 >
编程相关推荐