Pip 不是工作流程管理工具¶
pip 的核心目的是「管理環境中已安裝的套件」。儘管套件管理是大部分 Python 開發工作流程的重要部分,但這只是一個環節。建立及管理環境、組態及執行開發任務、管理 Python 詮譯器本身,以及管理整個「專案」等任務不在 pip 的範圍內。整體管理開發工作流程是一項複雜的任務,而且對於「正確方法」有很多觀點。
Pip 有一些功能在開發工作流程中很有用,例如透過 pip install .
安裝目前專案、可編輯安裝,與需求檔案。然而,pip 無意管理整體工作流程。
舉例來說,pip 提供了 pip wheel
指令,可用於為專案建置一個輪子。但是,沒有對應的指令可供建置原始程式碼散佈。這是因為建置輪子是安裝套件的基礎步驟(如果該套件僅具備原始程式碼),而安裝時從未需要建置原始程式碼散佈。需要工具來建置專案的使用者應該使用 build
等專用工具,該工具提供建置輪子和原始程式碼散佈的指令。
ensurepip
的角色¶
Pip 可透過 ensurepip
標準程式庫模組在標準 Python 安裝中使用。這為使用者提供了「開箱即用」的安裝程式,可用於取得 PyPI 上所有各種工具和程式庫。特別是,這讓使用者得以安裝許多工作流程工具。
這種「引導」機制在 PEP 453 中提出(並獲得接受)。
其他資訊¶
包裝使用者指南 探討了 Python 專案開發,並針對尋求進一步資訊以了解如何管理其開發工作流程的人員,包含工具建議。