conda:基于python的软件管理系统
为了解决这个问题,首先是virtualenv这个包的发明,实现了python环境的隔离,接下来就是conda的出现,conda不仅仅解决了python的环境隔离问题,还进一步扩展,支持任意软件的隔离。
conda是一套基于python语言的软件环境管理系统,其通过如下两个基本概念来保证不同软件的共存和互不干扰
1.environments
2.packages
environments表示软件环境,不同的environments之间是相互隔离的,从而保证了互不干扰;packages是安装在environment中的一系列具体的软件包,借助environment的相互隔离在保证其独立性。
对于这套软件系统,有两个具体的软件都对其进行了封装
1. Anaconda
2. Miniconda
都各自集成了python,conda以及一些开发用的软件,其中Anaconda包含的软件更多,1500个以上,而且还提供了Anoconda Navigator, 一套图形界面工具,在帮助管理conda的environments和packages。
对于初学conda和python,喜欢GUI的同学而言,安装Anaconda是不错的选择,对于有一定基础,独爱命令行的人而言,建议选择Miniconda。
Anaconda的下载地址如下
https://www.anaconda.com/products/individual
https://docs.conda.io/en/latest/miniconda.html
从安装文件的大小也可以看出,Anaconda是Miniconda的8倍多。安装过程比较简单,需要记住的一点是,不要将可执行程序添加到环境变量,因为软件本身会安装一个版本的python, 添加环境变变量会覆盖系统已有的python,会出现之前已经安装的包使用不了的情况
在安装程序中, 也是不推荐你直接添加环境变量的。这就意味着,你需要切换到对应的安装目录下,才可以访问其可执行程序。安装好之后,可以通过如下命令来查看是否安装成功
conda -V
conda 4.9.0
上述命令会显示conda的版本号。如果正确显示了版本号,说明安装成功了。要熟练使用和掌握conda这套系统,需要对以下3个组分进行详细学习
1. environments,软件环境,一个环境包含了许多的packages
2. packages,包,具体的需要安装的软件
3. channels, 类似源的概念,提供了包的下载地址,不同的源包含的packages不同,访问速度也不一样
对于一个environment而言,我们要学会创建,导入/导出,删除,切换等操作;对于packages而言,我们需要学会查找,安装,更新,使用,删除等操作;对于channels而言,我们需要学会新增和删除channels。在后续的文章中,会对这些内容进行详细的描述。