一些背景:
我正在从事的项目使用python-ldap
库。由于我们是一个混合操作系统开发团队(一些使用 Linux,一些 macOS 和一些 Windows),我试图让项目在所有环境上构建。不幸的是,python-ldap
Windows 没有官方支持,但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" }
...但是,从poetry.lock
文件来看,似乎标记随后被合并,只是确定是否应该安装该库:
[[package]]
category = "main"
description = "Python modules for implementing LDAP clients"
marker = "sys_platform == \"linux\" or sys_platform == \"win32\""
name = "python-ldap"
是否有另一种方法来处理 Poetry 中特定于平台的依赖关系?