更改Python的pip install 默認(rèn)安裝依賴(lài)路徑方法詳解
前言
聲明:python版本3.6,以下討論的Python也都是適用于3.x版本
在實(shí)際使用安裝python的pip安裝 依賴(lài)庫(kù)是非常的便捷的。
而且一般大家使用的都是安裝Anaconda 來(lái)學(xué)習(xí)和實(shí)踐python項(xiàng)目。
我們通常都是直接就是使用
pip install ****
其中****代表就是安裝的依賴(lài)庫(kù)名或者包名。
但是簡(jiǎn)單的背后就是,我們的最重要的系統(tǒng)盤(pán)C盤(pán)都是逐漸滿(mǎn)了。更關(guān)鍵是你滿(mǎn)完之后還不好去刪除或者將一些依賴(lài)庫(kù)放在別的盤(pán)的路徑下,這就是一件非常糟糕的事情了。
所以今天,為了拯救C盤(pán)強(qiáng)迫癥的自己,我是必須要好好折騰折騰,將pip install 安裝的依賴(lài)庫(kù)和包名都是放在Anaconda(別的盤(pán)中)目錄下的site-packages中去(全部歸到這個(gè)類(lèi)下)。
總體步驟
第一步:先查看自己的默認(rèn)安裝路徑到底是在哪?列出全局的packages包的安裝路徑在哪?
1. 按鍵(win+R) ->打開(kāi)cmd命令窗口。
2.鍵入
python -m site
得到這樣的結(jié)果:
sys.path = [ 'C:\\Users\\Administrator', 'F:\\Anaconda\\python36.zip', 'F:\\Anaconda\\DLLs', 'F:\\Anaconda\\lib', 'F:\\Anaconda', 'F:\\Anaconda\\lib\\site-packages', 'F:\\Anaconda\\lib\\site-packages\\win32', 'F:\\Anaconda\\lib\\site-packages\\win32\\lib', 'F:\\Anaconda\\lib\\site-packages\\Pythonwin', ] USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists) USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages' (exists) ENABLE_USER_SITE: True
這里有幾點(diǎn)說(shuō)明:
①我們看見(jiàn)這里的USER_BASE 和USER_SITE其實(shí)就是用戶(hù)自定義的啟用Python腳本和依賴(lài)安裝包的基礎(chǔ)路徑。
②其中USER_BASE表示就是在C盤(pán)這個(gè)目錄下的Python.exe啟動(dòng)程序路徑以及pip,esay-install,markdown等腳本,(我們已經(jīng)是安裝好了Anaconda Python,這個(gè)C盤(pán)又是什么鬼,不想用它啊),而這個(gè)C盤(pán)的Python.exe啟動(dòng)程序路徑其實(shí)就是我們?cè)诎惭bAnaconda的時(shí)候一個(gè)分身,更準(zhǔn)確的說(shuō),其實(shí)就是簡(jiǎn)單的Python程序,并不是什么IDE這種級(jí)別的可以類(lèi)似Eclipse這樣去操作編譯豐富的功能窗口,只是簡(jiǎn)單類(lèi)似shell的一樣的存在。
所以要改。
③其中的USER_SITE其實(shí)就是用戶(hù)如果調(diào)用C盤(pán)路徑下的python.exe中的腳本pip文件去下載,就會(huì)將site-package的默認(rèn)安裝到這個(gè)C盤(pán)路徑下。
并且大家有時(shí)候可能在使用 pip install 命令行安裝一些依賴(lài)的時(shí)候,總是會(huì)提示報(bào)錯(cuò)“PermissionError:[WinError 5 ] Denied Excess."C"\\......."這樣的類(lèi)似權(quán)限拒絕訪問(wèn),并且提示你無(wú)管理員權(quán)限的話,使用pip -install ... + [user-site] 這樣的字眼?!?/p>
python -m site --user-site
而我自己也曾經(jīng)試驗(yàn)過(guò)了,如果是權(quán)限問(wèn)題拒絕安裝訪問(wèn)的話,安裝cmd命令提示框中提示的user-site使用方法,就能解決權(quán)限安裝問(wèn)題。
所以,user_site其實(shí)就是個(gè)人的site-packages默認(rèn)安裝路徑了。而如果使用的是Anaconda 目錄下的Scripts中的pip 安裝依賴(lài)庫(kù)或包等,則是安裝在Anaconda路徑下的site-packages中去。
第二步:確認(rèn)了是什么原因,那么就要去對(duì)應(yīng)的配置文件改了。
因?yàn)槌霈F(xiàn)了類(lèi)似以下
sys.path = [ 'C:\\Users\\Administrator', 'F:\\Anaconda\\python36.zip', 'F:\\Anaconda\\DLLs', 'F:\\Anaconda\\lib', 'F:\\Anaconda', 'F:\\Anaconda\\lib\\site-packages', 'F:\\Anaconda\\lib\\site-packages\\win32', 'F:\\Anaconda\\lib\\site-packages\\win32\\lib', 'F:\\Anaconda\\lib\\site-packages\\Pythonwin', ] USER_BASE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python' (exists) USER_SITE: 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python36\\site-packages' (exists) ENABLE_USER_SITE: True
那么肯定是有對(duì)應(yīng)的配置文件去讀取的,我們?nèi)ふ倚薷募纯伞?/p>
cmd命令行窗口下鍵入:
python -m site -help
就會(huì)出現(xiàn)
C:\Users\Administrator>python -m site -help F:\Anaconda\lib\site.py [--user-base] [--user-site] Without arguments print some useful information With arguments print the value of USER_BASE and/or USER_SITE separated by ';'. Exit codes with --user-base or --user-site: 0 - user site directory is enabled 1 - user site directory is disabled by user 2 - uses site directory is disabled by super user or for security reasons >2 - unknown error
可見(jiàn),管理這個(gè)文件竟然就是Anaconda目錄下的site.py文件,之前說(shuō)C盤(pán)中的Python是它的分身還真沒(méi)說(shuō)錯(cuò)了。
找到
F:\Anaconda\lib\site.py
修改其中的參數(shù)
實(shí)際修改這兩個(gè)就好了。
注意
USER_SITE = "F:\Anaconda\lib\site-packages"
這個(gè)是你要安裝下載的site-packages的路徑。
而執(zhí)行下載的pip等腳本路徑是由USER_BASE決定,并且一定一定要換到同樣的有pip腳本的路徑下,哪怕你路徑也請(qǐng)寫(xiě)到
F:\Anaconda
當(dāng)然這里最好寫(xiě)成
USER_BASE = "F:\Anaconda\Scripts"
可以看見(jiàn)Scripts就是這些執(zhí)行程序和腳本位置了。
第三步:測(cè)試安裝,保證你修改之后成功有效。
測(cè)試鍵入
pip install numpy
出現(xiàn),在這個(gè)路徑下其實(shí)已經(jīng)擁有了滿(mǎn)足的依賴(lài)包和庫(kù)了(之前已經(jīng)安裝過(guò)了,今天只是將步驟總結(jié)下),所以證明是修改成功了。
以上這篇更改Python的pip install 默認(rèn)安裝依賴(lài)路徑方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python設(shè)計(jì)模式之模板方法模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之模板方法模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了模板方法模式的概念、原理及Python定義、使用模板方法模式相關(guān)操作技巧,需要的朋友可以參考下2019-01-01Python實(shí)現(xiàn)計(jì)算兩個(gè)指定日期相差幾年幾月幾日
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)計(jì)算兩個(gè)日期之間相差多少年,多少月,多少天,文中的的示例代碼講解詳細(xì),需要的可以參考下2024-02-02用scikit-learn和pandas學(xué)習(xí)線性回歸的方法
這篇文章主要介紹了用scikit-learn和pandas學(xué)習(xí)線性回歸的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Python OpenCV之圖片縮放的實(shí)現(xiàn)(cv2.resize)
這篇文章主要介紹了Python OpenCV之圖片縮放的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Pytorch實(shí)現(xiàn)LSTM案例總結(jié)學(xué)習(xí)
這篇文章主要介紹了Pytorch實(shí)現(xiàn)LSTM案例總結(jié)學(xué)習(xí),文章通過(guò)構(gòu)建網(wǎng)絡(luò)層、前向傳播forward()展開(kāi)主題介紹,需要的小伙吧可以參考一下2022-07-07如何在keras中添加自己的優(yōu)化器(如adam等)
這篇文章主要介紹了在keras中實(shí)現(xiàn)添加自己的優(yōu)化器(如adam等)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06python模擬投擲色子并數(shù)據(jù)可視化統(tǒng)計(jì)圖
這篇文章主要介紹了python模擬投擲色子并數(shù)據(jù)可視化統(tǒng)計(jì)圖,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07