一些背景:
我正在从事的项目使用python-ldap库。由于我们是一个混合操作系统开发团队(一些使用 Linux,一些使用 macOS 和一些 Windows),我试图让项目在所有环境中构建。不幸的是,python-ldapWindows 没有正式支持,但有由 Christoph Gohlke 维护的非官方轮子。我已经测试了轮文件,它工作正常。
问题:我如何告诉 Poetry 在 Windows 上使用轮子以及python-ldap在 Linux 和 macOS 上使用官方包?
我尝试了多种方法,包括使用多个约束依赖项和标记:
python-ldap = [
{ markers = "sys_platform == 'linux'", version = "*" },
{ markers = "sys_platform == 'win32'", path="lib/python_ldap-3.2.0-cp36-cp36m-win_amd64.whl" }
Run Code Online (Sandbox Code Playgroud)
......但是,从判断poetry.lock文件,似乎再标记合并,只是确定是否库应安装在所有:
[[package]]
category = "main"
description = "Python modules for implementing LDAP clients"
marker = "sys_platform == \"linux\" or sys_platform == \"win32\""
name = …Run Code Online (Sandbox Code Playgroud) 在requires_distpypi的json响应中,给出:
requires_dist : [
"bcrypt; extra == 'bcrypt'",
"argon2-cffi (>=16.1.0); extra == 'argon2'"
]
Run Code Online (Sandbox Code Playgroud)
谁能说清楚每个相关的第二份声明,extra == 'bcrypt'和extra == 'argon2'?