我使用matlab进行了很长时间的机器学习,并且最近已经切换到python并且安装某些软件包使用了它的软件包管理器pip并成功安装了许多软件包。几天前我开始使用conda,我之前安装的所有软件包都被覆盖了。
我真的想知道pip和conda之间的区别以及如果我使用pip来安装软件包而不是conda会发生什么?
答案 0 :(得分:4)
对于您的用例,无论如何最好擦除您早期的pip安装包并仅依赖conda。如果由于conda中的软件包不可用而无法实现,则可以在 conda中安装pip ,然后使用conda install pip
。 (来自上面的链接)。
答案 1 :(得分:3)
我真的想知道pip和conda之间的区别
请参阅What is the difference between pip and conda?
如果我使用pip来安装包而不是conda会发生什么?
一般来说(使用virtualenv除外)为整个系统(以root用户/管理员)或用户安装软件包。如你所知,Conda将软件包安装在自己的小世界/目录中,需要激活它们,覆盖pip的软件包。
作为一种解决方案,您可以先通过系统安装软件包,第二次安装软件包,然后再通过conda安装软件包。
因此,如果只需要系统包,请使用它。如果f.ex.太旧了,你可以使用pip install。
如果您需要特定的包,可能只针对一个项目,或者如果您需要与其他人共享项目,则conda似乎更合适。另请参阅What is the advantage of Pip over Anaconda?。
答案 2 :(得分:2)
希望有更多知识渊博的人可以扩展,但看起来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
补充阅读: