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

非Poetry环境下解决Python本地相对依赖安装失败问题(支持uv)

用uv替代pip解决嵌套本地依赖路径问题

结论:uv完全可以解决这个问题

pip的问题在于处理本地file依赖时,会把子依赖里的相对路径按执行命令的目录来解析——比如你在service/service_1跑pip install,lib_2里写的../lib_1会被解析成service/lib_1,自然找不到正确的包。而uv会针对每个包的pyproject.toml所在目录来解析相对路径,也就是lib_2里的../lib_1会被正确识别为libs/lib_1,不受执行目录影响。

操作步骤

  1. 先安装uv:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. 进入service/service_1目录执行安装:
    # 直接安装到当前环境
    uv pip install .
    # 或者用虚拟环境(推荐)
    uv venv
    source .venv/bin/activate
    uv pip install .
    

其他不用Poetry的替代方案

如果暂时不想换工具,也可以试试这些方法:

  • 硬编码绝对路径:把lib_2和service_1的依赖路径改成绝对路径,比如lib_1@file:///your/project/root/libs/lib_1,但换环境就得改路径,不够灵活。
  • 全局可编辑安装:在项目根目录一次性安装所有包的可编辑版本:
    pip install -e libs/lib_1 -e libs/lib_2 -e service/service_1
    
    这种方式下pip能自动处理包之间的依赖关系,不会出现路径错误。
  • 设置PYTHONPATH:安装前把项目根目录加到PYTHONPATH里:
    export PYTHONPATH=/your/project/root:$PYTHONPATH
    cd service/service_1
    pip install .
    
    这样pip会从PYTHONPATH里查找本地包,不用在pyproject.toml里写file路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:10:03