Anaconda入门使用指南(二)

Anaconda 安装完成,在 bin 子目录下( $PREFIX/bin )可以看到该发行版本预装好的 conda、python、pip、jupyter,以及一些常用的工具。




Python环境管理


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


  • canda 创建一个新环境


conda create -n env_name  list of packages

# 创建一个 Python 2 的环境,同时安装 pandas 包
conda create -n py2 python=2.7 pandas


其中 -n 代表 name,env_name 是需要创建的环境名称,list of packages 则是列出在新环境中需要安装的工具包。canda 在安装包的过程会自动解决包的依赖,如上面的命令,canda 在新创建的 py2 环境中不仅安装了 pandas,还安装了 numpy 等一系列 packages 依赖。


  • conda 常用环境操作


# 创建一个名为 python27 的环境,指定 Python 版本是2.7(不用管是 2.7.x,conda 会为我们自动寻找 2.7.x 中的最新版本)
conda create --name python27 python=2.7

# 指定创建 python-2.7.13
conda create --name python27 python=2.7.13
 
# 安装好后,使用 activate 激活某个环境
activate python27           # for Windows
source activate python27    # for Linux & Mac
# 激活后,会发现 terminal 输入的地方多了 python27 的字样,实际上,此时系统做的事情就是把默认 3.6 环境从 PATH 中去除,再把 2.7 对应的命令加入 PATH
 
# 此时,再次输入
python --version
# 可以得到`Python 2.7.13 :: Anaconda, Inc.`,即系统已经切换到了 2.7.13 的环境
 
# 如果想返回默认的 python 3.6 环境(退出指定环境,返回默认),运行
deactivate python27          # for Windows
source deactivate python27   # for Linux & Mac
 
# 删除一个已有的环境
conda remove --name python27 --all


  • 环境导出与分享


当分享代码的时候,同时也需要将运行环境分享给大家,执行如下命令可以将当前环境下的 package 信息存入名为 environment 的 YAML 文件中。

# 显示所有的环境
conda env list(或者:conda info -e)

# 选择进入其中一个环境,root 表示进入默认环境
source activate root

# 保存当前环境信息
conda env export > environment.yaml


同样,当执行他人的代码时,也需要配置相应的环境。这时你可以用对方分享的 YAML 文件来创建一摸一样的运行环境。

conda env create -f environment.yaml




Python包管理


Anaconda 主要通过 conda 进行 python 的包管理,这部分功能与 pip 类似。


conda 的一些常用操作:

# 查看已安装的环境,当前被激活的环境会显示有一个星号或者括号
conda info --envs(或者 conda env list)

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


由于 conda 将 conda、python 等都视为 package,因此,完全可以使用 conda 来管理 conda 和 python 的版本,例如:

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


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

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




Conda 镜像


conda 的配置文件是 .condarc(一般保存在个人 home 目录下),该文件包含 conda 搜索包的来源(channels),代理以及环境目录等配置。默认情况下,.condarc 是不存在的,只有当用户第一运行 conda config 命令时才会生成。

Anaconda.org 的服务器在国外,安装 packages 有时候比较慢,因此我们可以在 conda 中加入清华 TUNA 镜像源中的 Anaconda 仓库镜像:

# 添加 Anaconda 的 TUNA 镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的 help 中镜像地址加有引号,需要去掉


这时候看到新增的镜像 url 已经添加到 .condarc

$ cat ~/.condarc
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults


最后,我们设置搜索时显示通道地址:

conda config --set show_channel_urls yes




例子:conda 安装 cnvkit


conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
conda install cnvkit


1a75a9b3-bdb8-44f9-84d0-d8d9f3741a75.png


根据提示,conda 会自动把 cnvkit 的依赖及 cnvkit 安装完成:
e6b92d01-4d24-4296-91f3-af8ec804473e.png


至此,你已跨入 Anaconda 的大门,接下来就可以去选择一个喜欢的 python 版本去分析了!


本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

posted @ 2017-11-02 21:05  章鱼猫先生  阅读(72)  评论(0编辑  收藏  举报