在来自pypi的包的json响应的requires_dist : [
"bcrypt; extra == 'bcrypt'",
"argon2-cffi (>=16.1.0); extra == 'argon2'"
]
部分中,给出:
extra == 'bcrypt'
有人能清楚说明每个依赖项extra == 'argon2'
和.gettempdir()
的第二条语句吗?
答案 0 :(得分:5)
其他是依赖项,如果您明确要求,则可以在常规依赖项之外另外安装 。将它们视为可选功能。
您可以使用==
之后的名称和软件包名称来安装它们。例如,如果您安装somepackage
并想添加bcrypt
可选功能,请使用:
pip install somepackage[bcrypt]
或
pip install somepackage[argon2]
或者,要包括两个可选的附加功能,请用逗号分隔名称:
pip install somepackage[bcrypt,argon2]
尽管多次使用somepackage[...]
也可以工作,因为pip
足够聪明,可以知道已经安装了主软件包。
pip
(或任何其他软件包安装工具)将<packagename>[<extras_name>(,...)]
中列出的名称映射到requires_dict
中使用<dependency_spec>; extra == '<extras_name>'
格式的条目,并在{{ 1}}到要安装的东西的列表。
请参见Installing Setuptools "Extras"的安装软件包部分中的Python Packaging User Guide。
由安装的软件包本身来检测是否安装了可选附加功能的所有依赖项。一种常见的模式是使用dependency_spec
防护措施来测试可用的此类额外依赖项。