代码之家  ›  专栏  ›  技术社区  ›  All Іѕ Vаиітy durdenk

pypi依赖中的“额外”是什么?

  •  3
  • All Іѕ Vаиітy durdenk  · 技术社区  · 6 年前

    requires_dist 在pypi的包的json响应中,给出了:

    requires_dist : [
        "bcrypt; extra == 'bcrypt'",
        "argon2-cffi (>=16.1.0); extra == 'argon2'"
    ]
    

    谁能说清楚每个依赖项的第二句话, extra == 'bcrypt' extra == 'argon2' ?

    1 回复  |  直到 6 年前
        1
  •  9
  •   Martijn Pieters    6 年前

    附加组件是可以安装的依赖项 此外

    您可以用后面的名称安装这些 == ,以及包的名称。例如,如果您安装 somepackage 想添加 bcrypt 可选功能,使用:

    pip install somepackage[bcrypt]
    

    pip install somepackage[argon2]
    

    或者,要包含两个可选的附加项,请用逗号分隔名称:

    pip install somepackage[bcrypt,argon2]
    

    somepackage[...] 多次也可以作为 pip

    皮普 <packagename>[<extras_name>(,...)] requires_dict 使用 <dependency_spec>; extra == '<extras_name>' 格式,在 dependency_spec 添加到要安装的内容列表中。

    Installing Setuptools "Extras" 安装软件包 剖面图 Python Packaging User Guide .

    是否安装了可选附加功能的所有依赖项,这取决于安装的软件包本身。一个常见的模式是 try...except ImportError: