• [转] Anaconda使用总结


    机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。

    对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是

    # 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
    echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
    # 更新bashrc以立即生效
    source ~/.bashrc

    配置好PATH后,可以通过which condaconda --version命令检查是否正确。假如安装的是Python 2.7对应的版本,运行python --versionpython -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发行版默认的环境是Python 2.7。

    Conda的环境管理

    Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。

    假设我们需要安装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

    用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e查看已安装的环境,当前被激活的环境会显示有一个星号或者括号。

    说明:有些用户可能经常使用python 3.4环境,因此直接把~/anaconda/envs/python34下面的bin或者Scripts加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……

    如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin里呢),这时候怎么办呢?方法有二:1. 显式地给出conda的绝对地址 2. 在python34环境中也安装conda工具(推荐)。

    Conda的包管理

    Conda的包管理就比较好理解了,这部分功能与pip类似。

    例如,如果需要安装scipy:

    # 安装scipy
    conda install scipy
    # conda会从从远程搜索scipy的相关信息和依赖项目,对于python 3.4,conda会同时安装numpy和mkl(运算加速的库)
    
    # 查看已经安装的packages
    conda list
    # 最新版的conda是从site-packages文件夹中搜索已经安装的包,不依赖于pip,因此可以显示出通过各种方式安装的包

    conda的一些常用操作如下:

    # 查看当前环境下已安装的包
    conda list
    
    # 查看某个指定环境的已安装包
    conda list -n python34
    
    # 查找package信息
    conda search numpy
    
    # 安装package
    conda install -n python34 numpy
    # 如果不用-n指定环境名称,则被安装在当前活跃环境
    # 也可以通过-c指定通过某个channel安装
    
    # 更新package
    conda update -n python34 numpy
    
    # 删除package
    conda remove -n python34 numpy

    前面已经提到,conda将conda、python等都视为package,因此,完全可以使用conda来管理conda和python的版本,例如

    # 更新conda,保持conda最新
    conda update conda
    
    # 更新anaconda
    conda update anaconda
    
    # 更新python
    conda update python
    # 假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本

    补充:如果创建新的python环境,比如3.4,运行conda create -n python34 python=3.4之后,conda仅安装python 3.4相关的必须项,如python, pip等,如果希望该环境像默认环境那样,安装anaconda集合包,只需要:

    # 在当前环境下安装anaconda包集合
    conda install anaconda
    
    # 结合创建环境的命令,以上操作可以合并为
    conda create -n python34 python=3.4 anaconda
    # 也可以不用全部安装,根据需求安装自己需要的package即可

    设置国内镜像

    如果需要安装很多packages,你会发现conda下载的速度经常很慢,因为Anaconda.org的服务器在国外。所幸的是,清华TUNA镜像源有Anaconda仓库的镜像,我们将其加入conda的配置即可:

    # 添加Anaconda的TUNA镜像
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    # TUNA的help中镜像地址加有引号,需要去掉
    
    # 设置搜索时显示通道地址
    conda config --set show_channel_urls yes

    执行完上述命令后,会生成~/.condarc(Linux/Mac)或C:UsersUSER_NAME.condarc文件,记录着我们对conda的配置,直接手动创建、编辑该文件是相同的效果。

    Anaconda具有跨平台、包管理、环境管理的特点,因此很适合快速在新的机器上部署Python环境。总结而言,整套安装、配置流程如下:

    • 下载Anaconda、安装
    • 配置PATH(bashrc或环境变量),更改TUNA镜像源
    • 创建所需的不用版本的python环境
    • Just Try!

    cheat-sheet 下载:
    Conda cheat sheet



    作者:PeterYuan
    链接:http://www.jianshu.com/p/2f3be7781451
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    [leedcode 82] Remove Duplicates from Sorted List II
    [leedcode 83] Remove Duplicates from Sorted List
    [leedcode 81] Search in Rotated Sorted Array II
    [leedcode 80] Remove Duplicates from Sorted Array II
    [leedcode 79] Word Search
    2018 ICPC青岛-books(思维题)
    CodeForces 15A-Cottage Village(思维题)
    CodeForces 755A-PolandBall and Hypothesis(思维题)
    CodeForces
    UVA11624-Fire!(BFS)
  • 原文地址:https://www.cnblogs.com/chris-oil/p/7648355.html
Copyright © 2020-2023  润新知