Anaconda 使用指南之最详细版

作者: JeremyL | 来源:发表于2019-02-26 22:00 被阅读65次

    1. Anaconda 与 Conda 是什么?

    1.1 什么是 Anaconda

    Anaconda 是一个用于python/R科学计算和机器学习的开源工具(也称为Python的一种发行版),支持 Linux, macOS, Windows, 包含了conda等众多工具包及其依赖项,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。到目前为止,它在全世界拥有超过1100万用户。

    讲到Anaconda,就不得不提到Miniconda 。

    1.2 什么是 Miniconda

    • 相较于Anaconda会预安装众多的软件包,Miniconda就是一个迷你 Anaconda,只是预安装conda、Python及其依赖;
    • 用户在使用过程中根据自己的需求再使用conda安装软件包或创建各种环境;
    • 对于内存有限,或者觉得Anaconda预安装过于冗余的童鞋可以选择Miniconda.

    1.3 什么是 conda

    Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*

    conda是一种开源的包和环境管理系统。

    • 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN*
    • 适用平台:Windows, macOS, Linux
    包管理
    • 作为包管理工具,conda将所有的工具和第三方程序都当作包来管理;
    • conda 可以快速安装,运行和更新包及其相关的依赖关系。
    环境管理
    • conda也是一个环境管理工具, 可以创建多个虚拟环境,并基于工作目的在切换环境使用不同版本的工具包。例如,电脑上除了默认版本的Python,还可以创建其他各种版本python封闭环境,并在这些python版本之间进行快速切换。

    讲到到Python包管理器,就不得不提到 pip。 pip是标准Python发行版自带的包管理工具,用于查找、下载、安装、卸载安装包。

    conda VS pip

    pip

    • pip是标准Python发行版的包管理器,只能用于Python;
    • pip安装包时并不会自动安装相关的依赖关系;

    conda

    • conda 安装包时会自动安装相关的依赖关系;
    • conda 适用于Python, R等多种语言,可以安装python包以外的其他软件;
    • conda 可以创建和管理虚拟环境;

    1.4 Anaconda 的优点

    Anaconda-Open-Source-Projects
    • 快速下载和安装1500 + Python/R 数据科学包
    • 使用Conda 管理库、依赖项和环境
    • 使用scikit-learn、TensorFlow和Theano开发和训练机器学习和深度学习模型
    • 使用Dask、NumPy、panda和Numba分析数据
    • 使用Matplotlib、Bokeh、Datashader和Holoviews可视化结果

    2. Anaconda 安装

    安装条件

    • 操作系统: Windows >= 7.0, 64-bit macOS 10.10+, Linux( Ubuntu, RedHat, CentOS 6+)
    • 磁盘大小:>5 GB

    Anaconda官网下载Anaconda ,下载Python 3.7 version ;

    这个有两种安装模式:
    64-Bit Graphical Installer (634 MB)
    64-Bit Command-Line Installer (544 MB)

    2.1 基于macOS GUI方式安装
    • Anaconda Distribution页面下载安装包:Anaconda3-5.3.1-MacOSX-x86_64.pkg
    • 安装:直接双击;


      Anaconda Installation
    • 接下来,一步步Continue;
    • 最终出现如下界面,就表示安装成功了。


      anaconda installation
    2.2 基于macOS的命令操作方式安装

    Anaconda Distribution页面下载安装包: Anaconda3-5.3.1-MacOSX-x86_64.sh

    bash ~/Downloads/Anaconda3-5.3.1-MacOSX-x86_64.sh
    
    • 接着出现:Please, press ENTER to continue ;
    • 按下 Enter 键继续: 这一步就是浏览软件许可协议,直接按Enter滑到底,输入yes, 接下来出现:
    Anaconda3 will now be installed into this location:
    /Users/Username/anaconda3  #anaconda3现在安装路径
    
    
      \- Press ENTER to confirm the location #ENTER确认anaconda3就安装到/Users/Username下
      \- Press CTRL-C to abort the installation #中止安装
      \- Or specify a different location below #在后面自己指定安装路径
    
    • 这儿选择默认安装路径( /home/<user>/.bash_profile),直接点击Enter;
      好了,接下来泡杯茶,等一会儿。。。。。。。。。。。。
    • 安装好了之后,又要推销Microsoft VScode;
      我选择no,因为我已经安装过了;
    $ source ~/.bash_profile
    $ python --version
    Python 3.6.7 :: Anaconda, Inc.
    $ vi ~/.bash_profile
    

    Anaconda安装好了,打开Anaconda Navigator检查一下;

    3. Anaconda Navigator 了解和使用

    3.1 Anaconda Navigator
    Anaconda Navigator

    Anaconda Navigator是 Anaconda 内置的桌面图形用户界面(GUI),不需要使用命令行就可以启动应用和管理conda包和环境。

    Home: 当前环境下的应用程序

    • 在Spyder IDE中运行Python
    Spyder IDE

    打开Spyder ,展示的是默认界面(通过view -> Panes 调整):

    左边面板是编辑器;
    右上方面板可以查看帮助,变量,当前目录文件系统;
    右下面板是IPython console: 可以查看运行结果或运行日志;

    a.构建一个hello.py程序

    print("Hello Anaconda")
    

    b. 运行(F5),右下角Console查看程序运行状态

    • 在Jupyter Notebook中运行Python

    Try in Your Browser. No Installation Needed.


    jupyter

    启动jupyter notebook

    $ jupyter notebook
    
    #New->Python3
    print("Hello Anaconda")
    #Run or  Cell -> Run Cells
    
    • jupyterlab
      基于Web 的下一代 Jupyter,集成了更多的功能;

      jupyter lab
    • Qt console
      Qt console 作为一个非常轻量级的应用程序,在很大程度上与终端是相似的;但是 它也拥有GUI的部分功能, 内联图片,语法高亮......

    import numpy as np
    import matplotlib.pyplot as plt
    from scipy.special import jn
    import math
    x = np.linspace(0,4*math.pi)
    for i in range(6):
         plt.plot(x,jn(i,x))
    
    
    Qt console

    Environments: Anaconda 下的环境管理;可以创建,克隆,导入,移除;
    Learning: 学习资料
    Community : Anaconda 社区
    Document : Anaconda 教程
    Developer Blog : Anaconda 开发者博客

    4. conda 使用

    4.1 管理 conda

    conda 版本查看

    $ conda --version
    conda 4.5.12
    

    conda 版本更新

    $ conda update conda
    

    4.2 conda 管理环境

    查看已安装的环境

    conda env list   #conda info --envs
    

    创建一个名为python36的环境,并安装Python 3.6和pandas

    conda create --name python36 python=3.6 pandas
    

    激活某个环境

    conda 4.6以后版本
    Windows: conda activate python36
    Linux and macOS: conda activate python36
    
    conda 4.6以前版本
    Windows: activate python36
    Linux and macOS: source activate python36
    

    退出当前环境

    conda deactivate
    

    返回默认环境

    conda activate
    

    分享环境:将当前环境信息生成YAML文件

    conda env export > environment.yaml
    

    YAML文件格式:

    name: stats2
    channels:
      - javascript
    dependencies:
      - python=3.4   # or 2.7
      - bokeh=0.9.2
      - numpy=1.9.*
      - nodejs=0.10.*
      - flask
      - pip:
        - Flask-Testing
    

    利用YAML文件生成环境

    conda env create -f environment.yaml
    

    4.3 conda 管理Python

    创建一个包含Python 2.7的环境

    conda create --name python27 python=2.7
    conda activate python27
    python -V
    Python 2.7.15 :: Anaconda, Inc.
    

    克隆环境python27: 可以使用此方法为环境重新命名

    conda create --name myclone --clone python27
    

    删除一个已有的环境及其安装包

    conda remove --name myenv --all
    

    4.4 conda 管理包

    查看当前环境已经安装的包

        conda list  
    

    查看指定环境中的安装包

        conda list -n python27
    

    在Anaconda 库中搜索包

        conda search numpy  #模糊搜索
        conda search numpy=1.12
        conda search numpy[subdir=linux-64] #指定系统
        conda search --override-channels --channel http://conda.anaconda.org/mutirri iminuit  #指定仓库安装包
    

    安装包到当前环境

        conda install numpy
    

    安装包到指定环境

        conda install -n python27 numpy
    

    同时安装多个包到当前环境

        conda install numpy scipy
    

    安装指定版本包到指定环境

        conda install -n python27 scipy=0.15.0
    

    安装包更新

        conda update numpy
    

    移除安装包

        conda remove -n python27 scipy
    

    4.5 Anaconda channels管理

    Channels are the path that conda takes to look for packages.

    conda 安装包时,首先在一系列仓库搜索包,然后根据规则进行优先级排序(默认):

    1. 根据channel priority排序;
    2. 根据version number排序;
    3. 根据build number排序;
    4. 选取优先级最高的包进行安装;

    安装所有channel中最新版本, 如下设置

        conda config --set channel_priority false
    

    包安装规则顺序改为:

    1. 根据version number排序;
    2. 根据channel priority排序;
    3. 根据build number排序;
    4. 选取优先级最高的包进行安装;

    查看已有的 channels

        conda config --get channels
    

    添加 channels

        conda config --add channels
    

    添加新的channel到最高优先级

        conda config --add channels new_channel
    

    添加新的channel到最低优先级

        conda config --append channels new_channel
    

    Anaconda 三方源

    Conda-forge 包含许多默认channel中不存的packages;
    Bioconda 是一个生物信息Channel, 提供超过6000个生物信息分析安装包供conda使用。

        conda config --add channels bioconda
        conda config --add channels conda-forge
    

    使用国内Anaconda 仓库的镜像可以使conda加速安装工具。
    添加清华大学Anaconda 镜像

        conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
        conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
        # Conda Forge
        conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ 
        # bioconda
        conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
    

    移除channel

        conda config --remove channels channelName
    

    参考:
    Installing Anaconda Distribution on macOS
    Anaconda Navigator
    Navigator Cheat Sheet
    Conda
    conda cheat sheet
    清华大学开源软件镜像站-Anaconda 镜像使用帮助

    相关文章

      网友评论

        本文标题:Anaconda 使用指南之最详细版

        本文链接:https://www.haomeiwen.com/subject/lcsiyqtx.html