如何在 Windows 中安裝 Python 套件管理器 pip
訂閱 375
判斷是否安裝了 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
還會安裝 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。
如何使用腳本檔案 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 的情況下。