诗:如何使用不同的CPU架构(例如x86和x86_64)两次指定相同的依赖关系

问题描述 投票:0回答:1

我正在评估使用 Poetry 来打包和构建桌面应用程序。

唯一的障碍是诗歌不允许两次指定相同的包。例如,我无法执行以下操作:

[tool.poetry.dependencies]
python = "^3.9"
lru-dict = {path = "./packages/lru_dict-1.1.6-cp39-cp39-win_amd64.whl"}
lru-dict = {path = "./packages/lru_dict-1.1.6-cp39-cp39-win32.whl"}

请注意,

lru-dict
包被指定了两次,唯一的区别是包构建的位数(即CPU架构)。

我知道我可以将包上传到 PyPI,并且

pip
将动态选择合适的版本。但是私人或本地套餐怎么样?

python packaging python-poetry
1个回答
3
投票

来自诗歌文档

Poetry 通过 markers 属性支持

环境标记

其中一个标记是

platform_machine
,它是
platform.machine()
的输出。

因此,您应该能够使用不同的标记将两个条目添加到列表中:

[tool.poetry.dependencies]
python = "^3.9"
lru-dict = [
    {path = "./packages/lru_dict-1.1.6-cp39-cp39-win_amd64.whl", markers = "platform_machine == 'amd64'"},
    {path = "./packages/lru_dict-1.1.6-cp39-cp39-win32.whl", markers = "platform_machine == 'win32'"}
]
© www.soinside.com 2019 - 2024. All rights reserved.