使用Anaconda管理环境
Anaconda指的是一个开源的python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
Anaconda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
一、conda介绍
conda 是开源包(packages)和虚拟环境(environment)的管理系统。
-
packages 管理: 可以使用 conda 来安装、更新 、卸载工具包 ,并且它更关注于数据科学相关的工具包。在安装 anaconda 时就预先集成了像 Numpy、Scipy、 pandas、Scikit-learn 这些在数据分析中常用的包。另外值得一提的是,conda 并不仅仅管理Python的工具包,它也能安装非python的包。比如在新版的 Anaconda 中就可以安装R语言的集成开发环境 Rstudio。
-
虚拟环境管理: 在conda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突。纠结Python 版本时,可以建立 Python2 和 Python3 两个环境,来分别运行不同版本的 Python 代码。
二、conda的环境管理
conda的环境管理功能允许用户同时安装若干个不同版本的python,并能自由切换。
1、安装一个新环境
比如要安装一个python 3.4环境,需要做如下操作:
# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本) conda create --name python34 python=3.4 # 安装好后,使用activate激活某个环境 activate python34 # for Windows source activate python34 # for Linux & Mac # 激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH # 此时,再次输入 python --version # 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境 # 如果想返回默认的python 2.7环境,运行 deactivate python34 # for Windows source deactivate python34 # for Linux & Mac # 删除一个已有的环境 conda remove --name python34 --all
2、查看已安装的环境
用户安装的不同python环境都会被放在目录~/anaconda/envs 目录下:
$ conda info -e # conda environments: # base * /Users/hqs/anaconda3 # 当前被激活的环境会显示一个星号或括号 python27 /Users/hqs/anaconda3/envs/python27 python37 /Users/hqs/anaconda3/envs/python37
二、Conda包管理
1、查看操作
# 查看当前环境下已安装的包 $ conda list # packages in environment at /Users/hqs/anaconda3: # # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py36_0 alabaster 0.7.12 py36_0 ... ... ... zope.interface 4.6.0 py36h1de35cc_0 zstd 1.3.3 h2a6be3a_0 # 查看某个指定环境的已安装包 $ conda list -n python27 # packages in environment at /Users/hqs/anaconda3/envs/python27: # # Name Version Build Channel ca-certificates 2018.03.07 0 certifi 2018.10.15 py27_0 libcxx 4.0.1 hcfea43d_1 libcxxabi 4.0.1 hcfea43d_1 libedit 3.1.20170329 hb402a30_2 libffi 3.2.1 h475c297_4 ncurses 6.1 h0a44026_0 # 查看package信息 $ conda search numpy Loading channels: done # Name Version Build Channel numpy 1.5.1 py26_0 anaconda/pkgs/free numpy 1.5.1 py26_0 pkgs/free numpy 1.5.1 py26_4 anaconda/pkgs/free ... ... ...
2、包管理操作
Anaconda管理python包。
# 安装package conda install pandas # 使用参数安装package conda install -n python37 numpy # 使用-n指定要按照的环境名称 # 不使用-n则按照在当前活跃环境 # -c指定通过某个channel安装 # 更新package conda update pandas conda update -n python37 numpy # 删除package conda remove -n python37 numpy
3、conda管理
conda将conda、python都视为package,因此也可以使用conda来管理conda和python的版本。
# 更新conda,保持conda最新 $ conda update conda # 更新anaconda $ conda update anaconda # 更新python $ conda update python # 当前环境如果是python 3.7,conda会将Python升级为3.7.x系列当前最新版本