安裝Anaconda後,使用pip install 包名 安裝的包未出現在Anaconda目錄的sit-site-packages,而出現在C盤的一個隱藏目錄APPdata裏問題解決辦法

下面的內容參考了 下面這個鏈接的內容
https://www.jb51.net/article/149625.htm
我也根據我的安裝經驗擴展一下。

問題描述

目前使用python進行編程,越來越多的人管理一些庫選擇Anaconda,它的相關安裝,避坑經驗,以及如何在eclipse裏面集成使用,請看我的另外幾篇博客。安裝anaconda後,大家都習慣使用
pip install 包名
進行安裝庫,但是簡單的操作導致了一個問題就是該部分包你是在E:\Anaconda3\Lib\site-packages裏面查看不到的(這裏的路徑對應你的安裝Anaconda3路徑),而在C盤的隱藏文件目錄下找到了 C:\Users\17720\AppData\Roaming\Python\Python36\site-packages 其中的17720對應你的用戶名即可,這樣的缺點主要有以下幾點:(首先說明,一般來說,只是安裝位置的差別,程序是能正常跑的)
1.安裝包的時候,可能會出現兩個版本,兩個路勁下各一個版本(這個我就遇到了,所以纔去思考這篇博客的問題)
2.C盤的內存會越來越小
3.你無法在Anaconda3\Lib\site-packages中查看最正確的版本信息。

解決辦法

1.先查看自己的默認安裝路徑到底是在哪?列出全局的packages包的安裝路徑在哪?
按鍵(win+R) ->打開cmd命令窗口。
輸入
python -m site
顯示下面信息(這裏這截取裏顯示信息下面的關鍵信息)
在這裏插入圖片描述
在這裏複製下原作者的一些說明:
①我們看見這裏的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] 這樣的字眼。」

2.修改相應配置文件
找到安裝的Anaconda路徑 依次找到路徑E:\Anaconda3\Lib,裏面有一個site.py文件,推薦使用notepad++打開,然後將相應的部分修改成下面的格式(畫圈的部分,改成自己的安裝目錄即可)
在這裏插入圖片描述
3.查看修改:
和第一步相同的操作,修改成功後的顯示如下
在這裏插入圖片描述
4.一些問題說明
(1)修改成功後以後安裝的庫會在哪?
解答:修改成功後,以後安裝的庫都會在Anaconda3\Lib\site-packages的目錄下。

(2)爲什麼之前使用pip install 安裝的庫一部分在Anaconda3\Lib\site-packages的目錄下 一部分在C盤的目錄下?
解答:個人的想法是,你按照庫的時候,如果因爲出現權限問題 拒絕訪問,然後你就會在命令後面加 --user來進行安裝庫,此時加了–user的庫就會出現在C盤的這個目錄下。我在後面試了下安裝paddlepaddle 在未進行修改那個路勁前,它拒絕訪問,只能在後加–user進行安裝 但是修改後,直接安裝成功到Anaconda3\Lib\site-packages的目錄下,並未報錯(個人經驗想法,如果是錯的,請交流)
(3)假如你有強迫症,覺得修改路勁之前就有一些包在Cpan下了,怎麼處理,想把他弄到Anaconda3\Lib\site-packages的目錄下?
解答:如果你並沒有遇到什麼問題,程序都能正常跑,個人是不太建議你去動那些文件,因爲不知道兩邊的版本那個是正確的,你更改後可能還會出現一些問題。但是如果你確實要改,想改,我的建議是把C盤裏的包名找到Anaconda3\Lib\site-packages的目錄下 對應的,把Anaconda3\Lib\site-packages的目錄下 的刪掉,然後將C盤的複製過去(注意,不可直接複製粘貼,先刪後粘貼,不然會出現一個庫有兩個版本現象)C盤那個路徑裏下面的東西不要管他(我是按這個操作的,目前一切正常!就算到時候有一兩個版本不對,跑程序的時候報錯後對應更新就好,問題也不大)
在這裏插入圖片描述