在實(shí)際使用安裝python的pip安裝 依賴庫是非常的便捷的。
而且一般大家使用的都是安裝Anaconda 來學(xué)習(xí)和實(shí)踐python項(xiàng)目。
我們通常都是直接就是使用
pip install ****
其中****代表就是安裝的依賴庫名或者包名。
但是簡單的背后就是,我們的最重要的系統(tǒng)盤C盤都是逐漸滿了。更關(guān)鍵是你滿完之后還不好去刪除或者將一些依賴庫放在別的盤的路徑下,這就是一件非常糟糕的事情了。
所以今天,為了拯救C盤強(qiáng)迫癥的自己,我是必須要好好折騰折騰,將pip install 安裝的依賴庫和包名都是放在Anaconda(別的盤中)目錄下的site-packages中去(全部歸到這個(gè)類下)。
總體步驟
第一步:先查看自己的默認(rèn)安裝路徑到底是在哪?列出全局的packages包的安裝路徑在哪?
1. 按鍵(win+R) ->打開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)說明:
①我們看見這里的USER_BASE 和USER_SITE其實(shí)就是用戶自定義的啟用Python腳本和依賴安裝包的基礎(chǔ)路徑。
②其中USER_BASE表示就是在C盤這個(gè)目錄下的Python.exe啟動(dòng)程序路徑以及pip,esay-install,markdown等腳本,(我們已經(jīng)是安裝好了Anaconda Python,這個(gè)C盤又是什么鬼,不想用它?。?,而這個(gè)C盤的Python.exe啟動(dòng)程序路徑其實(shí)就是我們在安裝Anaconda的時(shí)候一個(gè)分身,更準(zhǔn)確的說,其實(shí)就是簡單的Python程序,并不是什么IDE這種級別的可以類似Eclipse這樣去操作編譯豐富的功能窗口,只是簡單類似shell的一樣的存在。
所以要改。
③其中的USER_SITE其實(shí)就是用戶如果調(diào)用C盤路徑下的python.exe中的腳本pip文件去下載,就會(huì)將site-package的默認(rèn)安裝到這個(gè)C盤路徑下。
并且大家有時(shí)候可能在使用 pip install 命令行安裝一些依賴的時(shí)候,總是會(huì)提示報(bào)錯(cuò)“PermissionError:[WinError 5 ] Denied Excess."C"\\......."這樣的類似權(quán)限拒絕訪問,并且提示你無管理員權(quán)限的話,使用pip -install ... + [user-site] 這樣的字眼?!?
python -m site --user-site
而我自己也曾經(jīng)試驗(yàn)過了,如果是權(quán)限問題拒絕安裝訪問的話,安裝cmd命令提示框中提示的user-site使用方法,就能解決權(quán)限安裝問題。
所以,user_site其實(shí)就是個(gè)人的site-packages默認(rèn)安裝路徑了。而如果使用的是Anaconda 目錄下的Scripts中的pip 安裝依賴庫或包等,則是安裝在Anaconda路徑下的site-packages中去。
第二步:確認(rèn)了是什么原因,那么就要去對應(yīng)的配置文件改了。
因?yàn)槌霈F(xiàn)了類似以下
- 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
那么肯定是有對應(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
可見,管理這個(gè)文件竟然就是Anaconda目錄下的site.py文件,之前說C盤中的Python是它的分身還真沒說錯(cuò)了。
找到
F:\Anaconda\lib\site.py
,修改其中的參數(shù)
實(shí)際修改這兩個(gè)就好了。
注意
USER_SITE = "F:\Anaconda\lib\site-packages"
這個(gè)是你要安裝下載的site-packages的路徑。而執(zhí)行下載的pip等腳本路徑是由USER_BASE決定,并且一定一定要換到同樣的有pip腳本的路徑下,哪怕你路徑也請寫到
F:\Anaconda
當(dāng)然這里最好寫成
USER_BASE = "F:\Anaconda\Scripts"
可以看見Scripts就是這些執(zhí)行程序和腳本位置了。
第三步:測試安裝,保證你修改之后成功有效。
測試鍵入
pip install numpy
出現(xiàn),在這個(gè)路徑下其實(shí)已經(jīng)擁有了滿足的依賴包和庫了(之前已經(jīng)安裝過了,今天只是將步驟總結(jié)下),所以證明是修改成功了。以上。