2016-01-20 35 views
5

我一直在使用matlab进行机器学习很长一段时间,最近已切换到python,并安装某些软件包使用它的软件包管理器pip并成功安装了许多软件包。几天前我开始使用conda,并且所有先前安装的软件包都被覆盖。使用pip或conda来管理软件包?

我真的很想知道pip和conda之间的区别,以及如果我使用pip安装包而不是conda会发生什么情况?

回答

2

希望有更多的知识丰富的人可以扩展,但它看起来像Conda是一个非PIP兼容的部署工具,适用于Python和非Python工具/包。 Conda处理自己的Python和软件包的虚拟安装以及非python依赖项。

PIP另一方面是Python特定的部署实用程序;它不知道Conda,Conda不知道PIP。

了解了上述内容,Conda将不知道以前部署的PIP包,因为两者不兼容。

幸运的是,因为这两个系统是分开的,所以如果您决定Conda不值得切换,您应该能够恢复PIP环境。否则,你可以尝试在康达的matlib安装模仿你有什么对PIP设置:

畅达安装-c https://conda.anaconda.org/ioos matlab_kernel

补充阅读:

What is the difference between pip and conda?

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

2

pip和conda有共同点和差异。这很难解释比杰克范德普拉斯在这里做的更好:https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

对于你的用例,它是最好的无论如何擦拭你的早期点子安装的软件包,并只依靠conda。如果由于conda中的软件包不可用而无法执行此操作,则可以在 conda中安装pip ,然后使用conda install pip。 (从上面的链接)。

2

我真的想知道PIP和畅达

的区别见What is the difference between pip and conda?

,如果我使用PIP要安装的软件包,而不是畅达会发生什么?

普普(除了使用virtualenv)会为整个系统(以root /可能以管理员身份)或为用户安装软件包。正如您已经注意到的,Conda将软件包安装在自己的小世界/目录中,在那里它们需要被激活,覆盖pip的软件包。

作为一种解决方案,您可以通过您的系统首先安装软件包,第二个软件包,第三个软件包。

所以使用系统包,如果它是所有需要的。如果这太f.ex.,你可以使用pip install。

如果您需要特定的软件包,可能只适用于一个项目,或者您需要与其他人分享项目,conda似乎更合适。另请参阅What is the advantage of Pip over Anaconda?

相关问题