新聞

Python套件管理工具pip可望在26.2版加入--only-deps選項,讓開發者只安裝目前應用程式執行所需的相依套件,不必將應用程式本身安裝成Python套件。該功能適用於網站後端、網路服務與自動化指令稿等應用程式,可減少額外整理套件清單的工作,也有助於簡化伺服器及容器部署。

開發者只要在安裝時加入--only-deps選項,pip就會取得目前專案的相依套件資訊,安裝執行階段所需套件,但略過專案本身。

目前pip安裝專案時,除了相依套件,也會建置並安裝專案本身。另一種常見的可編輯安裝方式,則能讓開發環境直接反映程式碼修改。這些方式適合需要封裝與發布的Python程式庫,但對只想先準備執行環境的應用程式而言,仍會多出安裝專案本身的步驟。

新功能也能改善容器映像的建置流程,開發者可將相依套件安裝與放入應用程式碼分成不同步驟。只要相依套件沒有改變,日後重新建置容器時就能重用先前的建置快取,不必因程式碼小幅更新而重新下載所有套件。

相關修改也預計套用到pip的套件建置、下載及版本鎖定功能,讓開發者在準備部署檔案或固定套件版本時,只處理相依套件,不必同時處理專案本身。

不過,--only-deps只處理執行階段相依套件,不會將建置相依套件安裝到目標環境,要是建置工具需在執行過程中額外提出相依套件,這項功能也無法處理。pip為了取得專案相依資訊,仍可能建立暫時的建置環境並呼叫建置後端。

pip 26.2目前仍處於開發階段,相關程式碼修改案已獲pip維護者同意並列入26.2版規畫。