簡體   English   中英

使用pip或conda來管理包?

[英]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來安裝包而不是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

補充閱讀:

pip和conda有什么區別?

https://conda.anaconda.org/menpo/channel/matlab

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM