You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Poetry为不同CPU架构重复指定同一依赖(如x86/x86_64)

解决Poetry本地多架构依赖包的配置问题

针对你遇到的Poetry无法重复指定同一依赖(不同架构的本地包)的问题,有几个实用的解决办法:

  • 利用环境标记自动匹配
    Poetry支持通过markers参数为不同环境指定对应的依赖包,这样不会出现重复定义的冲突。你可以修改pyproject.toml为:

    [tool.poetry.dependencies]
    python = "^3.9"
    lru-dict = [
        { path = "./packages/lru_dict-1.1.6-cp39-cp39-win_amd64.whl", markers = "sys_platform == 'win32' and platform_machine == 'AMD64'" },
        { path = "./packages/lru_dict-1.1.6-cp39-cp39-win32.whl", markers = "sys_platform == 'win32' and platform_machine == 'x86'" }
    ]
    

    这样Poetry会根据当前运行环境的系统架构,自动选择对应的本地包安装。

  • 搭建本地私有PyPI仓库
    把不同架构的lru-dict包都上传到本地私有仓库(比如用devpi、pypiserver这类轻量工具),之后在Poetry里配置这个私有仓库地址,就能像使用PyPI一样让工具自动适配架构。
    配置示例:
    先在pyproject.toml里只写版本:

    [tool.poetry.dependencies]
    python = "^3.9"
    lru-dict = "1.1.6"
    

    然后添加私有仓库并安装:

    poetry config repositories.my-local-repo http://你的私有仓库地址
    poetry add lru-dict --source my-local-repo
    
  • 手动指定包路径(临时方案)
    如果只是单环境下临时构建,可以不在配置文件里写死,直接在安装时指定对应架构的包:

    # 64位Windows环境执行
    poetry add ./packages/lru_dict-1.1.6-cp39-cp39-win_amd64.whl
    # 32位Windows环境执行
    poetry add ./packages/lru_dict-1.1.6-cp39-cp39-win32.whl
    

    这种方式适合快速测试,但跨环境打包时不如前两种方法灵活。

内容的提问来源于stack exchange,提问作者Musharraf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:15:41