一、Conda创建虚拟环境

1、什么是虚拟环境

 它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。

2、为什么要用虚拟环境

 在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接对我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景:

**场景1:**项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误;

**场景2:**公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。

三、Anaconda创建、激活、退出、删除虚拟环境

 在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。
创建虚拟环境

conda create -n env_name python=2.7

#同时安装必要的包

conda create -n env_name numpy matplotlib python=2.7

激活虚拟环境
使用如下命令即可激活创建的虚拟环境

Linux:  source activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)

此时使用python --version可以检查当前python版本是否为想要的(即虚拟环境的python版本)。

退出虚拟环境
使用如下命令即可退出创建的虚拟环境

Linux:  conda deactivate your_env_name(虚拟环境名称)
Windows: deactivate env_name

也可以使用activate root切回root环境

删除虚拟环境

删除环境:

使用命令conda remove -n your_env_name(虚拟环境名称) --all

删除虚拟环境中的包:

使用命令conda remove --name $your_env_name $package_name(包名)

分享环境

 如果你想把你当前的环境配置与别人分享,这样ta可以快速建立一个与你一模一样的环境(同一个版本的python及各种包)来共同开发/进行新的实验。一个分享环境的快速方法就是给ta一个你的环境的.yml文件。首先通过activate target_env要分享的环境target_env,然后输入下面的命令

conda env export > environment.yml

会在当前工作目录下生成一个environment.yml文件,小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令

conda env create -f environment.yml

从该文件创建环境。

conda常用命令
conda list:查看安装了哪些包。
conda install package_name(包名):安装包
 例如:conda install --channel https://conda.anaconda.org/menpo opencv3 从指定的channel安装文件,channel为安装源

conda env listconda info -e:查看当前存在哪些虚拟环境
conda update conda:检查更新当前conda

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐