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

如何用pip从Git子目录安装extras(可选依赖)?是否有解决办法?

pip通过VCS安装时指定可选依赖(extras)的问题及解决办法

你提到的“无法在VCS安装时指定extras”的情况,在旧版本pip(20.0之前)中确实存在,但从pip 20.0版本开始,官方已经支持该功能,只要用对语法就能实现。

可行的解决办法

1. 新版本pip(20.0+)的标准用法

直接在VCS地址后通过#egg=包名[可选依赖组]的格式指定,同时还可以结合分支、标签、提交哈希或者子目录:

  • 安装GitHub仓库main分支,并包含dev和docs可选依赖:
    pip install git+https://github.com/example-user/example-repo.git@main#egg=example-package[dev,docs]
    
  • 从仓库子目录安装并指定可选依赖:
    pip install git+https://github.com/example-user/example-repo.git@main#subdirectory=packages/sub-package&egg=sub-package[extra1]
    

2. 旧版本pip的临时处理方案

如果你的pip版本低于20.0,没法直接通过VCS URL指定extras,可以用以下两种方式:

  • 先克隆仓库到本地,切换到目标分支/提交后,本地安装并指定extras:
    git clone https://github.com/example-user/example-repo.git
    cd example-repo
    git checkout main
    pip install .[dev,docs]
    
  • 先通过VCS安装基础包,再单独安装带extras的版本(注意如果包版本号未更新,可能需要加--force-reinstall强制更新):
    pip install git+https://github.com/example-user/example-repo.git@main#egg=example-package
    pip install example-package[dev,docs] --force-reinstall
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:53:14