zoukankan      html  css  js  c++  java
  • 使用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系列当前最新版本
  • 相关阅读:
    C# 反射
    WinForm资源管理器开发(TreeView&ListView)
    枚举——完美立方
    关于考证
    人工智能时代,程序员要不要精通算法?
    程序员需要掌握哪些软技能?
    Android数据解析——JSON
    C# 数组转json
    jQuery跨域调用Web API
    oracle 创建表同时添加注释
  • 原文地址:https://www.cnblogs.com/xiugeng/p/10430388.html
Copyright © 2011-2022 走看看