首页
学习
活动
专区
圈层
工具
发布

pip新版本新增"仅安装依赖"功能,告别多年痛点

Python 原生包管理工具 pip 即将发布新版本,一项长期困扰开发者的限制终于得到解决。过去,如果开发者希望只安装某个包的依赖项,而不安装包本身,几乎没有官方支持的便捷方式。要么手动从包中提取依赖列表逐一安装,要么干脆把整个包都装上。

为什么这是个问题?

有些场景下,开发者只需要某个包的依赖——例如,为测试或其他项目创建独立的运行环境。在通过 CI 构建源代码发行版时,某些依赖项(如 Cython)是构建过程所必需的,但并不会被打包进发行版本身。此时就需要在项目之外单独安装这些构建依赖,以完成构建步骤。

"仅安装依赖"模式是社区长期以来的呼声。开发者 James O'Claire 整理了大量类似请求及各种变通方案,其中绝大多数依赖第三方工具实现。

pip 26.2 将从根本上解决这一问题。新版本引入命令 `pip install --only-deps`,可以只安装指定包的运行时依赖项,而不安装包本身。需要注意的是,该命令不包含构建依赖,仅覆盖运行时依赖。

实际上,现有的第三方工具已能实现类似功能,例如 `uv sync --no-install-project` 具备相同的行为。但将这一能力直接内置于 pip,意味着开发者无需借助外部工具或临时变通方案。这也体现出像 uv(一款极速 Python 包安装器)这类第三方项目正在推动 Python 原生功能的演进与完善。

pip 26.2 计划于 2026 年 7 月底正式发布。

Q&A

Q1:pip install --only-deps 命令具体能做什么?

A:`pip install --only-deps` 是 pip 26.2 新增的命令,作用是只安装指定包的运行时依赖项,而不安装包本身。它适合需要单独搭建依赖环境的场景,例如为测试创建隔离环境,或在 CI 构建源代码发行版时安装构建所需依赖。需要注意,该命令不涵盖构建依赖,仅处理运行时依赖。

Q2:pip 26.2 什么时候发布?

A:pip 26.2 计划于 2026 年 7 月底正式发布。

Q3:在 pip 26.2 之前,如何实现只安装依赖不安装包本身?

A:在 pip 原生不支持该功能的情况下,开发者通常依赖第三方工具解决。例如,使用 uv 工具执行 `uv sync --no-install-project` 可以实现相同效果。此外,也有人手动从包的配置文件中提取依赖列表再逐一安装,操作较为繁琐。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ofo6AEomWVVwz3WhRUf7fM_g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券