??????? 本篇為分享貼,截圖部分選自知乎,部分選自csdn,文字內容是結合自己實踐進行總結。
環(huán)境引用的包在哪?
??????? 首先,一條命令:
python -m site
??????? 這條命令可以定位引用的包在哪里 ,當然也可以自己設置默認位置:
sudo vim /opt/conda/envs/<your-env>/lib/<python3.8>/site.py # 是否sudo看情況
當前環(huán)境 pip install 安裝到 base 環(huán)境怎么辦?
????????更改其中紅色方框部分為自己的虛擬環(huán)境的site-packages包(USER-SITE)和py38(USER-BASE)即可,具體操作參看這條博客,這個操作能使得每次的conda環(huán)境都是你設置的這個,對于部分情況是很實用的,比如你在當前環(huán)境pip install,但卻安裝在了其他環(huán)境下。但是你要換個虛擬環(huán)境,那你可要遭老罪了。
??????? ok,正文開始,很多情況下會出現(xiàn),明明是在當前環(huán)境下pip install,但是卻安裝在了其他環(huán)境,按理說這種情況是不應該的,那出現(xiàn)這種情況怎么解決呢?就是上面所說的這部分內容。那為什么我會說按理說這種情況是不應該的呢?按的是誰的理呢?咱慢慢來看。
conda install 和 pip install 的安裝位置有區(qū)別嗎?
??????? 首先,conda install 和pip install安裝的位置是不同的,位置不同就自然引出了優(yōu)先級的問題(我分析是因為按路徑尋找,放前面的先執(zhí)行,有點像配置鏡像源路徑的那個意思),通過site命令我們可以發(fā)現(xiàn)base環(huán)境是在前面的,所以你在當前虛擬環(huán)境下pip install的包其實不在你的當前環(huán)境,而是在另外的環(huán)境(極有可能是base),這種情況呢也好解決:1、按照上文vim修改;2、換用conda pip install。
混著用 pip install 和 conda install 會有什么后果?
?????? 但是新的問題又來了,如果是混著用(一會用conda install 一會用pip install)有什么影響呢?言之就是會引起環(huán)境的混亂,conda和pip都是包管理工具,二者各自管理各自的小弟,混著用很明顯讓兩個大哥不對付,借用博主ZERO-XJ的例子:例如,你新安裝的package會依賴numpy ,不過你已經(jīng)安裝numpy(e.g., 1.19.2),但是用pip安裝的,不好意思,它會認為你沒安裝,然后用conda再安裝一個依賴版本的numpy(e.g., 1.18.5)。這個時候,兩個numpy可能就打架了。并且你pip list與conda list顯示的numpy版本可能不一致,結果不知道最后運行程序的時候調用了哪個版本的numpy。
????????如果能避免上面的這種沖突,顯然就是很好的情況,二者混用倒也不會出現(xiàn)太大問題,而且正如ZERO_XJ所講的那樣:
???
如何穩(wěn)妥的配合使用 conda install 和 pip install ?
???????? 下面這些簡直說出了我的心里話,能用pip install決不用conda install,我在很長的一段時間都陷于conda和pip的精神控制下,每次都感覺他能work我就燒香的虔誠。遇到的問題包括但不僅限于:1、在虛擬環(huán)境下剛pip install完成,報錯跟我說還是缺少這個module;2、pip install安不上的conda install 竟然可以安裝上;3、conda install 安裝不上的pip install 竟然可以安裝上。
??????
conda install 和 pip install 的區(qū)別究竟是什么?
????????在這個討論區(qū)還遇到了其他專業(yè)的回答,如下圖,我建議大家有條件的可以去官網(wǎng)看一下官方解釋的區(qū)別:官網(wǎng)https://www.anaconda.com/blog/understanding-conda-and-pip
?其他專業(yè)的解釋
???????? 當然,還有這位博主也給出了比較詳細的解釋。
?????????如果對這部分感興趣,想要深入了解,可以點擊這個鏈接詳細了解,如果連接失效請點擊。文章來源:http://www.zghlxwxcb.cn/news/detail-626208.html
完結撒花 ???
???????? conda的問題可能沒有那么多,主要是慢,如果是你本身虛擬環(huán)境比較多的情況下可能要等十幾分鐘,這相比pip install “卡”就好了是很難接受的。但是會檢查你其他相關的包依賴情況,能確保你配置的環(huán)境是work的,而pip install則只管安裝,不會去檢查其他的包依賴情況,從這個角度來講pip的“包管理工具”就有點有名無實了,畢竟conda的功能比pip多的很。文章來源地址http://www.zghlxwxcb.cn/news/detail-626208.html
到了這里,關于conda install 和pip install有什么區(qū)別?的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!