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