conda pip 之间的区别与联系

在机器学习入门的过程,可能需要使用linux系统的命令行来配置环境、安装软件、库等,像楼主本人,是一个目标检测入门新手,在配置环境的时候发现,某些软件既可以用pip安装,又可以用conda安装,甚至有时候pip安装失败的情况下换成conda就成功了,十分疑惑,因此本文用来记录conda和pip之间的关系。

pip是Python官方的包管理工具。
conda pip 之间的区别与联系_第1张图片
上图是借鉴知乎回答上的图片,第一列Repo是Repository(包管理库)的缩写。conda和pip分别有各自的Repo,从其他网站上了解到,pip的包管理仓库PyPI中存储的是包的实际存储位置,PyPI只是一个简单的注册页面。而Anaconda是一个具体的存储库,使用conda命令时则是从自己的存储库中提取资源。Anaconda中包的数量明显少于PyPI,缺少很多小众的包。第二列中可以看到,conda包中的内容全部是二进制的,不需要进行再次编译,而pip如果安装的包包含源码,可能需要先将源代码编译成二进制代码(二进制代码就是wheel文件)。另外,第4行可以看到使用conda可以创建环境,pip不行。最后一行依赖检查指的是不同软件之间的版本需要对应起来。

上文中提到的包是一个软件集合,下载包并安装好就可以使用包里面的软件了。软件发布者将包发布到包管理仓库(Repo),用户通过包管理软件(比如手机中的应用商店)从Repo中下载包并安装。pip的PyPI就是包管理仓库。

你可能感兴趣的:(深度学习,机器学习,神经网络)