Python更改pip的默認(rèn)安裝位置的常用方法
一、前言
pip 是 Python 的包管理工具,用于安裝和管理 Python 依賴包。
pip 默認(rèn)會將依賴包安裝到 Python 安裝目錄的 site-packages 中。
為了便于管理和減少C盤的空間占用,我們希望能夠?qū)?pip 下載的依賴包安裝到自定義的目錄。
[ 以下方案適用于 Windows 系統(tǒng) ]
二、查看當(dāng)前安裝位置
打開命令提示符或 PowerShell 窗口,使用如下命令來查看當(dāng)前 pip 的包安裝位置
pip show pip
輸出如下信息,Location 行顯示了 pip 當(dāng)前的包安裝位置:
Name: pip Version: 24.0 Summary: The PyPA recommended tool for installing Python packages. Home-page: Author: Author-email: The pip developers <distutils-sig@python.org> License: MIT Location: C:\Users\用戶名\AppData\Local\Programs\Python\Python311\Lib Requires: Required-by:
也可以使用 python -m site 查看 Python 的??模塊搜索路徑系統(tǒng)??和??包安裝位置?
python -m site
輸出如下信息:
sys.path = [
'C:\\Users\\用戶名', # 當(dāng)前工作目錄
'C:\\Python312\\python312.zip', # Python 標(biāo)準(zhǔn)庫(壓縮包)
'C:\\Python312\\DLLs', # 動(dòng)態(tài)鏈接庫目錄
'C:\\Python312\\lib', # 標(biāo)準(zhǔn)庫目錄
'C:\\Python312', # Python 安裝根目錄
'C:\\Python312\\lib\\site-packages', # 系統(tǒng)級包安裝目錄
]
USER_BASE: 'C:\\Users\\用戶名\\AppData\\Roaming\\Python' (exists)
USER_SITE: 'C:\\Users\\用戶名\\AppData\\Roaming\\Python\\Python312\\site-packages' (exists)
ENABLE_USER_SITE: True三、更改 pip 的默認(rèn)包安裝位置
方法 1:在安裝 Python 時(shí),使用自定義安裝
在初次安裝 Python 時(shí),如果指定了安裝盤符(例如E盤),那么 pip 的默認(rèn)安裝路徑也會隨之改變。pip 默認(rèn)會將第三方包安裝到 Python 安裝目錄下的 Lib\site-packages 文件夾中。

方法 2:使用 pip install 的 --target 或 --prefix 參數(shù)(每次安裝時(shí)指定)
使用 pip install 命令的 --target 或 --prefix 參數(shù),可以指定包安裝的位置(臨時(shí)指定),例如,我們希望將 pip 包安裝到 E 盤。
# 每次安裝時(shí)指定目標(biāo)路徑 pip install 包名 --target E:\你的自定義路徑\Python\Python312\site-packages # 或者使用--prefix參數(shù) pip install 包名 --prefix E:\你的自定義路徑\Python\Python312
這將會將依賴包安裝到指定的目錄下,而不是默認(rèn)位置,但是這個(gè)方法只在當(dāng)前的命令下有效。
注:使用虛擬環(huán)境的項(xiàng)目建議優(yōu)先使用 --target 或 --prefix 參數(shù),構(gòu)建項(xiàng)目級隔離。
方法 3:使用 pip.ini 配置文件
在用戶目錄下(C:\Users\用戶名\AppData)創(chuàng)建 pip 文件夾 和 pip.ini 配置文件
# 打開命令提示符或 PowerShell mkdir %APPDATA%\pip notepad %APPDATA%\pip\pip.ini
編輯 pip.ini 文件內(nèi)容,這將覆蓋默認(rèn)的安裝設(shè)置,使 pip 將依賴包安裝到指定位置。
# 將路徑替換為你想要的實(shí)際路徑 [global] target = E:\你的自定義路徑\Python\Python312\site-packages [install] install-option = --prefix=E:\你的自定義路徑\Python\Python312
方法 4:通過環(huán)境變量設(shè)置
右鍵 "此電腦" → 屬性 → 高級系統(tǒng) → 環(huán)境變量 → 新建環(huán)境變量

# 設(shè)置 PIP_TARGET 環(huán)境變量
變量名:PIP_TARGET
變量值:E:\你的自定義路徑\Python\Python312\site-packages
# 設(shè)置 PYTHONPATH 環(huán)境變量
變量名:PYTHONPATH
變量值:E:\你的自定義路徑\Python\Python312\site-packages
# 設(shè)置 PYTHONUSERBASE 環(huán)境變量
變量名:PYTHONUSERBASE
變量值:E:\你的自定義路徑\Python
相關(guān)環(huán)境變量的說明及其關(guān)系
| 變量名 | 作用范圍 | 優(yōu)先級 | 典型用途 |
|---|---|---|---|
PYTHONUSERBASE | 用戶級安裝 (--user) | 中 | 無權(quán)限時(shí)的包安裝 |
PIP_TARGET | 全局 pip 安裝 | 低 | 修改所有pip安裝路徑 |
VIRTUAL_ENV | 虛擬環(huán)境 | 最高 | 項(xiàng)目級完全隔離 |
PYTHONPATH | 模塊搜索路徑 | 自定義 | 添加額外導(dǎo)入路徑 |
方法 5:修改 site.py 文件
查看 site.py 存放路徑,site.py 一般存放在 Python 安裝目錄下的 Lib 目錄,也可以使用命令查詢
python -c "import site; print(site.__file__)"
打開 site.py 文件,編輯以下內(nèi)容,修改為你的自定義路徑:
修改前:

修改后:

注:如果設(shè)置了環(huán)境變量(無論值為何),Python 都會跳過用戶級的 site-packages,即,如果環(huán)境變量的設(shè)置有效,就無需修改 site.py 文件。
四、驗(yàn)證設(shè)置
使用本文 第二點(diǎn) 列出的命令驗(yàn)證設(shè)置是否有效,如果輸出行中出現(xiàn)了你剛才設(shè)置的安裝路徑,則代表設(shè)置成功。你可以嘗試運(yùn)行一個(gè) Python 項(xiàng)目并使用 pip install 進(jìn)一步驗(yàn)證。
注:如果之前已經(jīng)使用 pip install 將依賴包安裝到 site-packages 目錄下,可以在修改完安裝目錄后直接將之前的 site-packages 目錄剪切到新的目錄下,無需重新下載依賴。
以上就是Python更改pip的默認(rèn)安裝位置的常用方法的詳細(xì)內(nèi)容,更多關(guān)于Python更改pip默認(rèn)安裝位置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用PyTorch常見4個(gè)錯(cuò)誤解決示例詳解
這篇文章主要為大家介紹了使用PyTorch常見4個(gè)錯(cuò)誤解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
Python3.6+selenium2.53.6自動(dòng)化測試_讀取excel文件的方法
這篇文章主要介紹了Python3.6+selenium2.53.6自動(dòng)化測試_讀取excel文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
python中的單引號雙引號區(qū)別知識點(diǎn)總結(jié)
在本篇文章中小編給大家整理了關(guān)于python中的單引號雙引號有什么區(qū)別的相關(guān)知識點(diǎn)以及實(shí)例代碼,需要的朋友們參考下。2019-06-06
python 實(shí)現(xiàn)兩個(gè)線程交替執(zhí)行
這篇文章主要介紹了python 實(shí)現(xiàn)兩個(gè)線程交替執(zhí)行,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
tensorflow 保存模型和取出中間權(quán)重例子
今天小編就為大家分享一篇tensorflow 保存模型和取出中間權(quán)重例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python爬蟲之Selenium鼠標(biāo)事件的實(shí)現(xiàn)
這篇文章主要介紹了Python爬蟲之Selenium鼠標(biāo)事件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

