【配置】更改 Python 的 pip install 默認(rèn)安裝依賴路徑

前言

聲明:python版本3.6,以下討論的Python也都是適用于3.x版本
在實(shí)際使用安裝python的pip安裝 依賴庫(kù)是非常的便捷的。
而且一般大家使用的都是安裝Anaconda 來(lái)學(xué)習(xí)和實(shí)踐python項(xiàng)目。

我們通常都是直接就是使用

    pip install ****

其中****代表就是安裝的依賴庫(kù)名或者包名。

但是簡(jiǎn)單的背后就是,我們的最重要的系統(tǒng)盤(pán)C盤(pán)都是逐漸滿了。更關(guān)鍵是你滿完之后還不好去刪除或者將一些依賴庫(kù)放在別的盤(pán)的路徑下,這就是一件非常糟糕的事情了。

所以今天,為了拯救C盤(pán)強(qiáng)迫癥的自己,我是必須要好好折騰折騰,將pip install 安裝的依賴庫(kù)和包名都是放在Anaconda(別的盤(pán)中)目錄下的site-packages中去(全部歸到這個(gè)類下)。

總體步驟

第一步:先查看自己的默認(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í)就是用戶自定義的啟用Python腳本和依賴安裝包的基礎(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í)別的可以類似Eclipse這樣去操作編譯豐富的功能窗口,只是簡(jiǎn)單類似shell的一樣的存在。

所以要改。

③其中的USER_SITE其實(shí)就是用戶如果調(diào)用C盤(pán)路徑下的python.exe中的腳本pip文件去下載,就會(huì)將site-package的默認(rèn)安裝到這個(gè)C盤(pán)路徑下。

并且大家有時(shí)候可能在使用 pip install 命令行安裝一些依賴的時(shí)候,總是會(huì)提示報(bào)錯(cuò)“PermissionError:[WinError 5 ] Denied Excess."C"\......."這樣的類似權(quán)限拒絕訪問(wèn),并且提示你無(wú)管理員權(quán)限的話,使用pip -install ... + [user-site] 這樣的字眼。”

     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 安裝依賴庫(kù)或包等,則是安裝在Anaconda路徑下的site-packages中去。

第二步:確認(rèn)了是什么原因,那么就要去對(duì)應(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

那么肯定是有對(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)擁有了滿足的依賴包和庫(kù)了(之前已經(jīng)安裝過(guò)了,今天只是將步驟總結(jié)下),所以證明是修改成功了。


參考
更改 Python 的 pip install 默認(rèn)安裝依賴路徑

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.北京地鐵的設(shè)計(jì)是6個(gè)人一排座,哈哈哈哈為什么是六個(gè)人呀? 可能是出于人群流通的考慮?或者是方便他們看到站信息,...
    外加劑_閱讀 274評(píng)論 0 1
  • 自律讓我們更健康、更活力,而真正的自律是深入骨子的生活習(xí)慣。 小王是一名剛剛大學(xué)畢業(yè)的學(xué)生,在網(wǎng)絡(luò)公司...
    瑜悅芝伽閱讀 1,850評(píng)論 0 0
  • 昨天晚上想半天,吃啥呢?又不想太費(fèi)事。啊,冰箱里還有半盒肉餡,凍了幾個(gè)星期了,應(yīng)該盡快消耗掉!之前給z姐做蘿卜餅吃...
    茍且趁年華閱讀 389評(píng)論 0 1
  • 今天,北京的表姐來(lái)了,她教會(huì)我還原一面兒魔方。每次我在學(xué)校都光剩兩個(gè)格。是表姐教會(huì)了我怎樣一面還原。我另一...
    月康日健閱讀 205評(píng)論 0 0

友情鏈接更多精彩內(nèi)容