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` 可以實現相同效果。此外,也有人手動從包的配置文件中提取依賴列表再逐一安裝,操作較為繁瑣。






