anaconda虚拟环境管理,今后Python版本不用愁

1 引言

在前几篇博文中介绍过 virtualenv、virtualenvwrapper等几个虚拟环境管理工具,本篇要介绍的anaconda也有很强大的虚拟环境管理功能,甚至相比virtualenv、virtualenvwrapper等工具,更增强大。
Anaconda是专一于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。咱们本篇要介绍的anaconda虚拟环境管理就是使用其中的conda。conda是一款极为特殊的环境管理工具,之因此说它特殊,conda的设计思想——conda将几乎全部的工具、第三方包都当作package对待,甚至包括python和conda自身!所以,conda打破了包管理与环境管理的约束,能很是方便地安装各类版本python、各类package并方便地切换。也就是说说,在进行虚拟环境管理时,conda能够独立于系统原有的Python版本而建立任意版本的Python解释器,这是 virtualenv、virtualenvwrapper等工具所不具有的。

2 安装

2.1 下载

本次安装的版本是anaconda3。先进入一个用于存放下载文件的目录,而后安装anaconda:
$ cd /home/ubuntu/download
$ wget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.sh

2.2 安装与配置

若是没有意外,上述命令结束以后,在/home/ubuntu/download目录下会下载成功一个名为Anaconda3-2018.12-Linux-x86_64.sh的文件。
经过如下命令正式开始安装:
$ bash Anaconda3-2018.12-Linux-x86_64.sh
在安装过程当中,须要你容许使用协议,输入yes便可:
Do you accept the license terms? [yes|no]
[no] >>>
Please answer 'yes' or 'no':'
>>> yes
而后输入你但愿将anaconda安装到的目录,例如将anaconda安装到 /usr/bin/anaconda3:
[/home/ubuntu/anaconda3] >>> /usr/bin/anaconda3
固然,我此次安装选择的是默认的/home/ubuntu/anaconda3目录中,因此直接回车便可。
输入完成以后,系统将继续完成安装,知道出现以下输出提示:
Do you wish the installer to initialize Anaconda3
in your /home/ubuntu/.bashrc ? [yes|no]
[no] >>>
这里,你能够输出yes。意思是,将/home/ubuntu/anaconda3下的bin目录添加到当前用户的环境变量配置中。若是错过了这一步配置或者输入的是no,你将须要进行手动配置环境变量:
$ cd ~
$ vim .bashrc
而后在最后一行输入如下内容:
# anaconda3的配置环境
export PATH="/home/ubuntu/anaconda3/bin:$PATH"
结束上面全部步骤以后,运行一下命令让配置生效:
$ source .bashrc

2.3 验证安装结果

若是上面的全部步骤都没有意外,顺利完成的话,事实上anaconda就已经安装成功了。咱们来验证一下。
直接在命令行中输入python,看看Python的版本:
$ python
Python 3.7.1 (default, Dec 14 2018, 19:28:38)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
能够看到,Python的版本已经与原来不同了。
查看conda版本,运行命令:
$ conda --version
conda 4.5.12
输出安装的anaconda的的conda的版本为4.5.12。上述迹象代表,anaconda确实安装成功。

3 环境管理

3.1 建立虚拟环境

conda create -n env_name python=version package_names
其中,参数-n是指接下来的参数指定虚拟环境名,与--name等效,因此python36即为指定的将要建立的虚拟环境名。python=version是为虚拟环境指定Python版本,指定版本后,conda会安装该版本下最新的子版本,例如指定版本为3.6时,conda将会安装最新的3.6.x版本。package_names是要为新的虚拟环境建立时就安装的包,这里也能够不安装其余包,省略这一参数,在后续使用虚拟环境时安装第三方包。
例:建立一个虚拟环境,Python版本为3.6,虚拟环境名为python36
conda create --name python36 python=3.6

3.2 查看虚拟环境

conda env list
运行后,结果以下:
# conda environments:
#
base * /home/chb/anaconda3
python36 /home/chb/anaconda3/envs/python36
上述结果列出了当前系统中全部conda建立的虚拟环境,即环境所在目录。base是安装anaconda时指定安装的Python环境。型号(*)是指系统当前说仍是用的Python环境。

3.3 激活虚拟环境

conda activate env_name
例如:进入刚刚建立的虚拟环境python36
conda activate python36
若是进入到虚拟环境python36,以后的命令行抬头都会有一个“(python36)”的字样。

3.4 退出虚拟环境

退出虚拟环境时并不须要指定虚拟环境名,直接运行下行命令便可:
conda deactivate

3.5 共享虚拟环境

什么是共享虚拟环境呢?当咱们在本机上开发了一套代码,而后将代码上传到github或者发给项目组其余人,这是别人可不知道咱们开发的代码上面用到了哪些依赖,conda提供了方便得功能将虚拟环境中全部依赖包统一导出一个配置文件中,在别的机器上使用这套代码时,根据conda导出的配置文件重建虚拟环境便可,这就是共享虚拟环境功能。在多人协做开发及开源的状况下,共享虚拟环境无疑是一个很是实用的功能。
先来导出依赖到配置文件:
conda env export --file python36_env.yml
environment.yaml是导出依赖的目标文件,运行命令后,当前目录下就回生成一个environment.yaml文件,包含了全部依赖信息。
根据配置文件建立虚拟环境:
conda env create -f /home/chb/code/python36_env.yml
运行上述命令后,在新机器上也会建立一个如出一辙的虚拟环境。
3.6 删除虚拟环境
 conda remove -n python36 --all 
或者
conda env remove -n python36

4 包管理

4.1 安装包

conda install package_name
或者
pip install package_name

4.2 列出全部包

conda list

4.3 更新包

conda update package_name
若是想要一次性更新全部包:
conda update --all

4.4 查找包

conda search keyword
例如:咱们要安装pandas,可是忘了准确名称,能够这样查找:
conda search pan

4.5 删除包

conda remove package_name

5 总结

虽然相较于 virtualenv、virtualenvwrapper等工具,anaconda安装要复杂一下,但无疑anaconda功能更增强大,能够更加方便得进行包管理。
相关文章
相关标签/搜索