Небольшая предыстория: проект, над которым я работаю, использует библиотеку python-ldap
. Поскольку мы являемся командой разработчиков смешанных ОС (некоторые используют Linux, некоторые macOS и некоторые Windows), я пытаюсь создать проект для всех сред. К сожалению, python-ldap
официально не поддерживается для Windows, но существуют неофициальные колеса, поддерживаемые Кристоф Гольке. Я проверил файл колеса, и он отлично работает.
Проблема: как указать 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?