如何在 Windows 中安裝 Python 套件管理器 pip
訂閱 480
判斷是否安裝了 pip
對於 Windows 系統而言,如果你在官方網站下載並安裝了 Python 的最新可執行安裝套件,那麽預設會附帶安裝 pip,除非在自訂安裝時未選取 pip 元件,或采用了內嵌式安裝套件,NuGet 等其他安裝方式。
如果不確定 Windows 是否安裝了 pip 或 pip 是否可用,可以在命令提示字元中輸入命令python -m pip --version。當 pip 可用時,其版本和所在的目錄將被顯示,否則可能會收到提示No module named pip。
python -m pip --version
pip 23.2.1 from …\Lib\site-packages\pip (python 3.11)執行 pip 的可執行檔案以判斷 Windows 中是否安裝了 pip
上述命令python -m pip --version會讓 Python 嘗試執行模組pip(你可以簡單的將安裝 pip 理解為安裝pip模組),除此之外,直接執行 pip 的可執行檔案也是判斷 Windows 是否安裝了 pip 的一種方式,只需要在命令列中輸入命令pip --version即可(顯示 pip 的版本和目錄,或類似於「命令不存在」的訊息)。事實上,pip 可執行檔案本身還是會執行模組pip,其執行效果與直接執行模組pip相同,只不過在命令書寫上更加簡便。
當然,在某些安裝方式中,pip 可行執行檔案並非安裝的必需項,因此,命令列同樣可能會提示類似於「命令不存在」的訊息,如果之前安裝 pip 時沒有選擇安裝對應的 pip 可執行檔案。
pip --version
pip 23.2.1 from …\Lib\site-packages\pip (python 3.11)安裝 pip 後執行 pip 依然提示 No module named pip
如果的確已在 Windows 中安裝了 pip,並且執行命令python -m pip --version後依然提示No module named pip,那麽問題可能在於 Python 的模組搜尋路徑並未包含模組pip所在的目錄,此時可以檢查模組搜尋路徑,以判斷是否需要對模組搜尋路徑進行修改。
模組搜尋路徑
想要詳細了解 Python 的模組搜尋路徑,你可以檢視Python 指南的Python 模組搜尋路徑介紹,模組搜尋路徑中的目錄有哪些一節。
使用 ensurepip 套件安裝 pip
你可以簡單的使用套件ensurepip來手動安裝 pip,但需要確保他的存在,因為並非所有安裝都含有ensurepip,比如包含最少元件的內嵌式安裝套件。此外,套件ensurepip應該能夠被 Python 找到,如果出現了類似於No module named ensurepip這樣的提示,請檢查模組搜尋路徑是否包含ensurepip所在的目錄。
在預設情況下,如果 Python 能找到任何可用的 pip,那麽ensurepip套件將不會繼續執行安裝(即便指定不同的安裝位置),除非使用--upgrade選項來嘗試進行更新。
python -m ensurepip <options>- --default-pip,--altinstall 選項
--default-pip選項表示將安裝pip.exe,pip<X>.exe,pip<X>.<Y>.exe,三個檔案至Scripts資料夾,如果使用--altinstall選項,則僅會安裝pip<X>.<Y>.exe,其中X為主要版本號碼,Y為次要版本號碼。當以上兩個選項均未被采用時,將安裝pip<X>.exe和pip<X>.<Y>.exe。- --upgrade 選項
使用選項
--upgrade可以讓ensurepip嘗試將目前已經安裝的 pip 更新至ensurepip套件所提供的最新版本(可能與 PyPI 上的 pip 的最新版本不同)。- --root 參數,--user 選項
--root參數和--user選項用於變更 pip 的安裝位置,其中--root參數指定一個目錄,pip 將被安裝至此,其目錄結構將與 Python 本身的安裝目錄結構保持一致,--user選項(在虛擬環境中無法使用)表示將 pip 安裝至 Windows 使用者應用資料資料夾。
ensurepip 套件所安裝的 pip 由 ensurepip 套件自身提供
即便在沒有網路的情況下,你依然可以通過ensurepip套件在 Windows 中安裝 pip,因為 pip 已經包含在套件ensurepip中,這意味著通過ensurepip安裝的 pip 可能並非最新版本。
將 Scripts 目錄新增至 Windows 的 PATH 環境變數
如果安裝所產生的Scripts資料夾的路徑,未包含在 Windows 的環境變數PATH中,那麽可能將無法使用 pip 的可執行檔案,因為命令列不能定位他們,此時需要手動將Scripts目錄新增至環境變數PATH。
PATH 環境變數
要了解如何設定環境變數PATH,你可以檢視程式設計指南的作業系統 PATH 環境變數介紹,以及設定 PATH 環境變數一節。
使用腳本檔案 get-pip.py 安裝 pip
使用 get-pip.py 在 Windows 安裝 pip(Python 套件管理器)影片示範 YouTube
如果缺少 套件ensurepip,那麽通過下載並執行get-pip.py檔案,同樣可以完成 Windows 中的 pip 安裝。你只需要選擇一個目錄下載儲存get-pip.py,然後啟動命令提示字元並移至該目錄,最後使用 Python 執行get-pip.py即可。
get-pip.py的安裝效果與使用套件ensurepip基本類似,pip.exe,pip<X>.exe,pip<X>.<Y>.exe會被安裝至Scripts資料夾。但除此之外,get-pip.py還會在某些版本的 Python 中安裝 wheel 和 setuptools,其中wheel.exe位於Scripts,而 setuptools 僅存在於Lib\site-packages中。
python get-pip.py <options>- --no-setuptools 選項
--no-setuptools選項表示不會嘗試在安裝 pip 的同時安裝 setuptools。- --no-wheel 選項
--no-wheel選項表示不會嘗試在安裝 pip 的同時安裝 wheel。
選項--no-setuptools和--no-wheel,對於 3.12 或更高版本的 Python 無效。
如何使用腳本檔案 get-pip.py 安裝特定版本的 pip,wheel 和 setuptools?
在通過 Python 執行get-pip.py檔案時,你可以輸入版本條件來選擇 pip,wheel 和 setuptools 的版本,比如,"pip==21.0"表示安裝版本為21.0的 pip,"pip<24"表示安裝版本小於24的最大版本的 pip,"pip>=19.1"表示安裝版本大於等於19.1的最大版本的 pip。
python get-pip.py <packages>- packages 值
packages包含了 pip,wheel 和 setuptools 套件的版本資訊,每個版本資訊可使用"括住並使用空格進行分隔,如果未指定版本則使用最新版本,比如,python get-pip.py "pip>=23" "wheel"會安裝 wheel 的最新版本(由於未給出 setuptools,因此 setuptools 僅在不存在時被安裝,但有趣的是,無論是否給出 pip,pip 均會被安裝)。需要指出,get-pip.py並不會判斷需要安裝的版本是否比已安裝的版本更新,原有的版本會被卸載,即便被安裝的版本更舊。
使用腳本檔案 get-pip.py 安裝其他 Python 套件
是的,你可以使用腳本檔案get-pip.py安裝任意其他 Python 套件,比如python get-pip.py "numpy"會同時安裝套件pip和numpy,這可能讓人覺得奇怪,但卻是可行的。
執行 Python 腳本檔案,模組,套件
想要了解更多關於命令列執行 Python 腳本的資訊,你可以檢視如何通過命令列執行 Python 腳本檔案,模組,套件一節。
pip 的安裝位置
預設情況下,pip 將被安裝到 Python 所在的目錄,其可執行檔案和原始碼分別位於Scripts和Lib\site-packages資料夾。
pip 在 Windows 中的安裝位置取決於安裝時執行的 Python
當 Windows 環境變數PATH包含多個指向 Python 的路徑時,請確認命令列所執行的 Python 的位置,因為 pip 可能被安裝至該處,當使用ensurepip或get-pip.py進行手動安裝時。這是非常重要的,尤其在擁有多個版本的 Python 的情況下。