[英]Use pip or conda to manage packages?
我一直在使用matlab進行機器學習很長時間,並且最近已經切換到python並且安裝某些軟件包使用了它的軟件包管理器pip並成功安裝了許多軟件包。 幾天前我開始使用conda,我之前安裝的所有軟件包都被覆蓋了。
我真的想知道pip和conda之間的區別以及如果我使用pip來安裝包而不是conda會發生什么?
pip和conda有共同點和差異。 很難比Jake VanderPlas在這里做的更好解釋: https ://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/
對於您的用例,無論如何最好擦除早期的pip安裝包並僅依賴conda。 如果由於conda中的軟件包不可用而無法實現,則可以在 conda中安裝pip,然后使用conda install pip
。 (來自上面的鏈接)。
我真的想知道pip和conda之間的區別
如果我使用pip來安裝包而不是conda會發生什么?
Pip一般(使用virtualenv除外)為整個系統(以root用戶/管理員)或用戶安裝軟件包。 如你所知,Conda將軟件包安裝在自己的小世界/目錄中,需要激活它們,覆蓋pip的軟件包。
作為一種解決方案,您可以先通過系統安裝軟件包,第二次安裝軟件包,然后再通過conda安裝軟件包。
因此,如果只需要系統包,請使用它。 如果f.ex.太舊了,你可以使用pip install。
如果您需要特定的包,可能只針對一個項目,或者如果您需要與其他人共享項目,則conda似乎更合適。 另請參閱Pip超過Anaconda的優勢是什么? 。
希望有更多知識淵博的人可以擴展,但看起來Conda是一個非PIP兼容的部署工具,適用於Python和非python工具/軟件包。 Conda處理自己的Python和包的虛擬安裝以及非python依賴項。
另一方面,PIP是特定於Python的部署實用程序; 它不知道Conda,並且Conda不知道PIP。
了解上述情況后,Conda將不會意識到您之前部署的PIP包,因為兩者不兼容。
幸運的是,因為這兩個系統是分開的,所以如果你認為Conda不值得切換,你應該能夠恢復你的PIP環境。 否則,您可以嘗試在Conda上安裝matlib來模仿您在PIP上設置的內容:
conda install -c https://conda.anaconda.org/ioos matlab_kernel
補充閱讀:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.