zoukankan      html  css  js  c++  java
  • Anaconda 入门详解

    Anaconda

    Anaconda简介

    Anaconda是一个免费开源的Python和R语言的发行版本,用于计算科学(数据科学、机器学习、大数据处理和预测分析),Anaconda致力于简化包管理和部署。Anaconda的包使用软件包管理系统Conda进行管理。超过1200万人使用Anaconda发行版本,并且Anaconda拥有超过1400个适用于Windows、Linux和MacOS的数据科学软件包。

    Anaconda拥有超过1400个软件包其中包含Conda和虚拟环境管理,他们都被包含在Anaconda Navigator中,因此无需去了解独立安装每个库。支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。可以使用已经包含在Anaconda中的命令conda install或者pip install从Anaconda仓库中安装开源软件包。Pip提供了Conda大部分功能,并且大多数情况下两个可以同时使用。可以使用conda build命令构建自定义包,然后通过上传到Anaconda Cloud、PyPI或其他仓库来分享给其他人。

    Anaconda2默认包含Python 2.7,Anaconda3默认包含Python 3.7,但是你可以创建虚拟环境来使用任意版本的Python包。

    这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

    进入下文之前,说明一下conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

    Anaconda 特点

    • 丰富的第三方库

    Anaconda 附带了一大批常用数据科学包,它附带了 conda、Python 和 150 多个科学包及其依赖项。因此你可以立即开始处理数据。

    • 管理包

    Anaconda 是在 conda(一个包管理器和环境管理器)上发展出来的。可以使用 conda 来安装、更新 、卸载工具包 ,并且它更关注于数据科学相关的工具包。在安装 anaconda 时就预先集成了像 Numpy、Scipy、 pandas、Scikit-learn 这些在数据分析中常用的包。另外值得一提的是,conda 并不仅仅管理Python的工具包,它也能安装非python的包。比如在新版的 Anaconda 中就可以安装R语言的集成开发环境 Rstudio。

    • 虚拟环境管理

    在conda中可以建立多个虚拟环境,用于隔离不同项目所需的不同版本的工具包,以防止版本上的冲突。对纠结于 Python 版本的同学们,我们也可以建立 Python2 和 Python3 两个环境,来分别运行不同版本的 Python 代码。

    Anaconda还包含一些功能强大的工具

    • Anaconda Navigtor :用于管理工具包和环境的图形用户界面,后续涉及的众多管理命令也可以在 Navigator 中手工实现。

    • Jupyter notebook :基于web的交互式计算环境,可以编辑易于人们阅读的文档,用于展示数据分析的过程。

    • qtconsole :一个可执行 IPython 的仿终端图形界面程序,相比 Python Shell 界面,qtconsole 可以直接显示代码生成的图形,实现多行代码输入执行,以及内置许多有用的功能和函数。

    • spyder :一个使用Python语言、跨平台的、科学运算集成开发环境。

    Anaconda 安装

    • 下载

    官网点击Download进入下载页面,选择对应的平台和版本下载,我这里是Anaconda3-2019.03-MacOSX-x86_64.pkg这个版本

    • 安装

    下载完成后双击下一步下一步知道安装完成,安装完成后自动会把anaconda的执行文件的路径添加到环境变量中无需手动配置,如何需要手动改变需要自行配置。

    Anaconda的使用

    
    # 获取帮助
    $ conda --help
    
    # 安装完成后验证conda的版本和python的版本等详细信息
    
    $ conda info
    
    C:>conda info
    
         active environment : None
           user config file : C:UsersAndy.condarc
     populated config files : C:UsersAndy.condarc
              conda version : 4.6.12
        conda-build version : 3.10.5
             python version : 3.6.2.final.0
           base environment : D:softwaredevappsanaconda3-5.2.0  (writable)
               channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64
                              https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
                              https://repo.anaconda.com/pkgs/main/win-64
                              https://repo.anaconda.com/pkgs/main/noarch
                              https://repo.anaconda.com/pkgs/free/win-64
                              https://repo.anaconda.com/pkgs/free/noarch
                              https://repo.anaconda.com/pkgs/r/win-64
                              https://repo.anaconda.com/pkgs/r/noarch
                              https://repo.anaconda.com/pkgs/msys2/win-64
                              https://repo.anaconda.com/pkgs/msys2/noarch
              package cache : D:softwaredevappsanaconda3-5.2.0pkgs
                              C:UsersAndy.condapkgs
                              C:UsersAndyAppDataLocalcondacondapkgs
           envs directories : D:softwaredevappsanaconda3-5.2.0envs
                              C:UsersAndy.condaenvs
                              C:UsersAndyAppDataLocalcondacondaenvs
                   platform : win-64
                 user-agent : conda/4.6.12 requests/2.21.0 CPython/3.6.2 Windows/10 Windows/10.0.17763
              administrator : False
                 netrc file : None
               offline mode : False
    
    
    C:>
    
    # 列出我本机的所有环境,第一个是自己创建的,后面的是我自己后续创建的
    $ conda info -e
    
    C:UsersAndy>conda info -e
    # conda environments:
    #
    base                  *  D:softwaredevappsanaconda3-5.2.0
    python27                 D:softwaredevappsanaconda3-5.2.0envspython27
    python36                 D:softwaredevappsanaconda3-5.2.0envspython36
    python37                 D:softwaredevappsanaconda3-5.2.0envspython37
    
    
    C:UsersAndy>
    
    
    

    包管理

    一般来说 conda 仓库的软件没有 PyPI 更新快和全。所以推荐 conda 只用来创建虚拟环境,包的安装管理仍然使用 pip。

    # 列出当前环境下所有安装的 conda 包。
    $ conda list
    
    # 列举一个指定环境下的所有包
    $ conda list -n env_name
    
    # 查询库
    $ conda search scrapys
    
    # 安装库安装时可以指定版本例如:(scrapy=1.5.0)
    $ conda install scrapy
    
    # 为指定环境安装某个包
    $ conda install --name target_env_name package_name
    
    # 更新安装的库
    $ conda update scrapy
    
    # 更新指定环境某个包
    $ conda update -n target_env_name package_name
    
    # 更新所有包
    $ conda update --all
    
    # 删除已经安装的库也尅用(conda uninstall)
    $ conda remove scrapy
    
    # 删除指定环境某个包
    $ conda remove -n target_env_name package_name
    
    # 删除没有用的包
    $ conda clean -p
    
    

    虚拟环境管理

    
    # 创建环境,后面的python=3.6是指定python的版本
    $ conda create --name env_name python=3.6
    
    # 创建包含某些包的环境(也可以加上版本信息)
    $ conda create --name env_name python=3.7 numpy scrapy
    
    # 激活某个环境
    $ activate env_name
    
    # 关闭某个环境
    $ conda deactivate
    
    # 复制某个环境
    $ conda create --name new_env_name --clone old_env_name
    
    # 删除某个环境
    $ conda remove --name env_name --all
    
    # 生成需要分享环境的yml文件(需要在虚拟环境中执行)
    $ conda env export > environment.yml
    
    # 别人在自己本地使用yml文件创建虚拟环境
    $ conda env create -f environment.yml
    
    
  • 相关阅读:
    JavaScript--数组的声明与创建
    JavaScript--Object对象的两种表示方法
    上下文模式
    Ajax详解
    JS面向对象之原型链
    JS面向对象特性和值类型与复合类型
    JS面向对象使用面向对象进行开发
    JS中的递归
    前端协作流程
    JavaScript中内存使用规则--堆和栈
  • 原文地址:https://www.cnblogs.com/janlle/p/10794339.html
Copyright © 2011-2022 走看看