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

根据提示,conda 会自动把 cnvkit 的依赖及 cnvkit 安装完成:
至此,你已跨入 Anaconda 的大门,接下来就可以去选择一个喜欢的 python 版本去分析了!
本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Anaconda入门使用指南(二)的更多相关文章
- Anaconda入门使用指南
打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...
- 致Python初学者:Anaconda入门使用指南
http://python.jobbole.com/87522/ Anaconda使用总结 pasting
- elasticsearch.net search入门使用指南中文版(翻译)
elasticsearch.net search入门使用指南中文版,elasticsearch.Net是一个非常底层且灵活的客户端,它不在意你如何的构建自己的请求和响应.它非常抽象,因此所有的elas ...
- elasticsearch.net search入门使用指南中文版
原文:http://edu.dmeiyang.com/book/nestusing.html elasticsearch.net为什么会有两个客户端? Elasticsearch.Net是一个非常底层 ...
- WPF入门教程系列二十三——DataGrid示例(三)
DataGrid的选择模式 默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改 ...
- WCF入门教程(二)如何创建WCF服务
WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...
- iOS开发-UI 从入门到精通(二)
iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...
- Docker入门教程(二)命令
Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...
- 无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two]
无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two] extjs技术交流,欢迎加群(201926085) 不管是几级下拉列表的联动实现本质上都是根据某个下拉列表的变化,去动态加载其 ...
- P6 EPPM R16.1安装与配置指南(二)
P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...
随机推荐
- P6666 [清华集训2016] 数据交互 题解
## P6666 [清华集训2016] 数据交互 题解 ### 简要题意: n个点的树,m次操作,分别为添加一条路径$(u_i,v_i,w_i)$,和撤消一条路径,每一次操作后求出一条路径使得与这条路 ...
- 对比 elasticsearch 和 mysql
最近阅读了elasticsearch的官方文档,学习了它的很多特性,发现elasticsearch和mysql有很多地方类似,也有很多地方不同.这里做一个对比,帮助大家加深对elasticsearch ...
- Linux防火墙与端口操作命令
CentOS 7系统 目录 1. 防火墙操作命令 2. 端口操作命令 3. CentOS 7 下安装firewall 1. 防火墙操作命令 序号 作用 命令 1 查看防火墙状态 systemctl s ...
- UnrealEngine - 反射系统分析
1. 反射 什么是反射?或者说反射能做什么,简单来说,反射可以提供一种能力,能够在运行时动态获取对象的成员信息,如成员函数,成员变量. UE 在其反射系统上支持了许多功能,如: 编辑器中可供编辑的属性 ...
- 线性规划的单纯形法—R实现
table { margin: auto } 线性规划的单纯形法 线性规划是运筹学中的一个基本分支,它广泛应用现有的科学技术和数学方法,解决实际中的问题,帮助决策人员选择最优方针和决策,自1947年丹 ...
- 谷歌浏览器插件:FeHelper(WEB前端助手)
背景 在现在的互联网时代,前端开发已经成为一个非常重要的领域.为了提高开发效率和质量,许多前端开发人员都喜欢使用一些相关工具来辅助他们的工作.而谷歌浏览器插件:WEB前端助手(FeHelper)就是其 ...
- 修复Joe主题静态资源为国内地址
背景 Typecho 是由 type 和 echo 两个词合成的,来自于开发团队的头脑风暴. Type,有打字的意思,博客这个东西,正是一个让我们通过打字,在网络上表达自己的平台.Echo,意思是回声 ...
- internal java compiler error
1.导入Maven项目运行报错: 解决方法:找到File->Settings 修改配置 再次运行就可以了.
- layUI之DataTable组件V1.0(父子表管理传值/数据表格与select&laydate结合等)
layUI之DataTable数据表格组件V1.0 目录 layUI之DataTable数据表格组件V1.0 概述 一.下载与引用 二.组件功能介绍 三.父表格渲染 1. HTML中声明空table一 ...
- Rust中的derive属性详解
1. Rust中的derive是什么? 在Rust语言中,derive是一个属性,它可以让编译器为一些特性提供基本的实现.这些特性仍然可以手动实现,以获得更复杂的行为. 2. derive的出现解决了 ...