新版Python修改pip默認(rèn)安裝路徑的方法與踩坑記錄
前言
pip安裝的第三方庫(kù)默認(rèn)存放在C盤中,為了便于管理和不過(guò)度占用C盤空間所以想修改默認(rèn)的pip路徑
修改pip文件下載模塊的默認(rèn)存儲(chǔ)路徑
pip.ini文件位置一般在C盤C:\Users…\AppData\Roaming\pip路徑下,如果是剛配置的Python環(huán)境,則沒(méi)有pip.ini文件,需要在執(zhí)行完cmd指令之后才會(huì)生成,如果沒(méi)有這個(gè)文件也可以手動(dòng)創(chuàng)建該文件
我的電腦由于剛安裝Python環(huán)境所以沒(méi)有pip.ini文件,于是自己在C:\Users…\AppData\Roaming目錄下新建pip目錄并在該目錄下創(chuàng)建pip.ini文件,具體如下圖所示:

pip.ini文件內(nèi)容:

[global] index-url = https://mirrors.aliyun.com/pypi/simple/ target=D:\Program Files\Python\Package\site-packages
index-url是設(shè)置第三方庫(kù)的鏡像源,設(shè)置鏡像是為了更快下載,這里設(shè)置為阿里云鏡像,當(dāng)然也可以不設(shè)置或使用其他鏡像
target是第三方庫(kù)的目標(biāo)安裝路徑,這個(gè)必須自己設(shè)置否則通過(guò)pip安裝的第三方庫(kù)依然安裝在默認(rèn)路徑下,也可以在環(huán)境變量中設(shè)置一個(gè)PIP_TARGET變量,變量值為第三方庫(kù)的目標(biāo)安裝路徑,這兩種方式是等價(jià)的

修改site.py文件
先查看pip默認(rèn)路徑
python -m site
由于還沒(méi)有通過(guò)pip安裝第三方庫(kù)所以這里顯示兩個(gè)默認(rèn)路徑均不存在
查看site.py存放路徑,site.py一般存放在Lib目錄
python -m site -help
結(jié)果:
新版Python需要加入—user-site參數(shù)
python -m site ---user-site
下圖是我的site.py文件存放的位置:

site.py需要修改兩處,第一處修改位置:
![]()
修改后:
![]()
第二處修改位置:

修改后:

修改完site.py文件中后再輸入python -m site -help查看存放路徑并未修改完成

接下來(lái)設(shè)置USER_BASE環(huán)境變量,變量名為:PYTHONUSERBASE,值為USER_BASE的路徑,如:D:\Program Files\Python\Package\Scripts

重新打開(kāi)cmd命令查看,結(jié)果顯示修改成功

修改了pip默認(rèn)安裝路徑后安裝的庫(kù)無(wú)法被找到的問(wèn)題
先嘗試用pip安裝matplotlib庫(kù):

已經(jīng)成功安裝在D:\Program Files\Python\Package\site-packages路徑下:

但在cmd命令行輸入pip show matplotlib結(jié)果顯示沒(méi)有這個(gè)包,但剛才已經(jīng)安裝成功,說(shuō)明Python目前找不到我們自定義路徑下安裝的第三方庫(kù)

在pycharm中也是這樣:

為了解決這個(gè)問(wèn)題只要以下兩步即可:
1.將自定義安裝路徑添加到Python搜索庫(kù)中
方法一:設(shè)置環(huán)境變量PYTHONPATH(不推薦使用)
PYTHONPATH環(huán)境變量用于指定Python的庫(kù)搜索路徑,因此可以將要添加的路徑添加到PYTHONPATH環(huán)境變量中,變量名為:PYTHONPATH,值為修改的第三方庫(kù)安裝路徑,如:D:\Program Files\Python\Package\site-packages

保存后無(wú)論在cmd命令行還是pycharm中均能找到安裝在修改后位置的第三方庫(kù)
但是如果使用Anaconda創(chuàng)建虛擬環(huán)境這樣會(huì)導(dǎo)致Python的搜索路徑中PYTHONPATH對(duì)應(yīng)的路徑優(yōu)先級(jí)高于Anaconda中的路徑,這會(huì)導(dǎo)致在Anaconda創(chuàng)建的虛擬環(huán)境運(yùn)行程序時(shí)優(yōu)先使用PYTHONPATH對(duì)應(yīng)的路徑下的庫(kù),從而因?yàn)榘姹締?wèn)題報(bào)錯(cuò),這樣創(chuàng)建虛擬環(huán)境就失去意義,所以并不推薦這種方法
方法二:在Python搜索路徑下添加.pth文件(推薦使用)
先查看一下當(dāng)前Python搜索路徑
python -m site

我這里是在D:\Program Files\Python\Package\Scripts\Python311\site-packages下添加一個(gè)mypath.pth文件,文件名沒(méi)有要求,只要保證文件后綴是.pth就行

mypath.pth文件內(nèi)容是你要添加的Python搜索路徑,我的是D:\Program Files\Python\Package\site-packages:
再次查看一下Python搜索路徑:
python -m site

可以看到自定義安裝路徑D:\Program Files\Python\Package\site-packages已經(jīng)被添加到D:\Program Files\Python\Package\Scripts\Python311\site-packages之后
tips: 也可以將存放自定義安裝路徑的.pth文件放在其他已經(jīng)存在的搜索路徑下,但建議不要放在Anaconda路徑之前否則會(huì)導(dǎo)致使用Anaconda虛擬環(huán)境時(shí)出現(xiàn)問(wèn)題
2.查看是否添加成功
再次通過(guò)命令查看結(jié)果如下圖:D:\Program Files\Python\Package\site-packages已經(jīng)被加入庫(kù)搜索路徑

在cmd命令行輸入pip show matplotlib顯示安裝位置為:D:\Program Files\Python\Package\site-packages,說(shuō)明系統(tǒng)已經(jīng)找到了我們剛才安裝在自定義路徑下的第三方庫(kù)

在pycharm中也找到了matplotlib庫(kù)

langchain 1.0+ 版本踩坑
langchain 1.0+ 版本對(duì)模塊結(jié)構(gòu)做了調(diào)整,PromptTemplate 不再直接放在 langchain.prompts 下,而是移到了 langchain_core.prompts 中(這是 1.0 版本的重大變更,看博主的時(shí)候很容易踩坑)。
所以
將原來(lái)的
from langchain.prompts import PromptTemplate
替換為 langchain 1.0+ 版本的正確導(dǎo)入方式:
# 1.0+ 版本的正確導(dǎo)入路徑 from langchain_core.prompts import PromptTemplate
到此這篇關(guān)于新版Python修改pip默認(rèn)安裝路徑的方法與踩坑記錄的文章就介紹到這了,更多相關(guān)Python修改pip默認(rèn)安裝路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python學(xué)習(xí)筆記之getattr和hasattr用法示例詳解
在Python中,hasattr()、getattr()和setattr()是一組內(nèi)置函數(shù),用于對(duì)對(duì)象的屬性進(jìn)行操作和查詢,這篇文章主要介紹了Python學(xué)習(xí)筆記之getattr和hasattr用法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-08-08
對(duì)tensorflow中的strides參數(shù)使用詳解
今天小編就為大家分享一篇對(duì)tensorflow中的strides參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))方法實(shí)例
我們?cè)谟胮ython畫散點(diǎn)圖的時(shí)候經(jīng)常會(huì)需要標(biāo)記出特定的點(diǎn),這篇文章主要給大家介紹了關(guān)于Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Python函數(shù)基礎(chǔ)實(shí)例詳解【函數(shù)嵌套,命名空間,函數(shù)對(duì)象,閉包函數(shù)等】
這篇文章主要介紹了Python函數(shù)基礎(chǔ),結(jié)合實(shí)例形式詳細(xì)分析了函數(shù)嵌套,命名空間,函數(shù)對(duì)象,閉包函數(shù)等相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-03-03
python通過(guò)偽裝頭部數(shù)據(jù)抵抗反爬蟲(chóng)的實(shí)例
下面小編就為大家分享一篇python通過(guò)偽裝頭部數(shù)據(jù)抵抗反爬蟲(chóng)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的示例代碼
這篇文章主要介紹了python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

