Python诗歌:如何指定特定于平台的依赖项替代方案?

2024-04-26 09:47:00 发布

您现在位置:Python中文网/ 问答频道 /正文

一些背景: 我正在从事的项目使用python-ldap库。由于我们是一个混合操作系统开发团队(有些使用Linux,有些使用macOS,有些使用Windows),所以我尝试在所有环境下构建该项目。不幸的是,python-ldap并没有得到Windows的正式支持,但是有unofficial wheels maintained by Christoph Gohlke。我已经测试了车轮锉刀,它工作得很好

问题:我如何告诉Poetry在Windows上使用轮子,在Linux和macOS上使用官方的python-ldap软件包

我尝试了多种方法,包括使用多个约束依赖项和markers

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"

有没有另一种方法来处理诗歌中特定于平台的依赖关系


Tags: 项目方法环境linuxwindowssysmacos团队