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入门使用指南(二)的更多相关文章

  1. Anaconda入门使用指南

    打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...

  2. 致Python初学者:Anaconda入门使用指南

    http://python.jobbole.com/87522/ Anaconda使用总结 pasting

  3. elasticsearch.net search入门使用指南中文版(翻译)

    elasticsearch.net search入门使用指南中文版,elasticsearch.Net是一个非常底层且灵活的客户端,它不在意你如何的构建自己的请求和响应.它非常抽象,因此所有的elas ...

  4. elasticsearch.net search入门使用指南中文版

    原文:http://edu.dmeiyang.com/book/nestusing.html elasticsearch.net为什么会有两个客户端? Elasticsearch.Net是一个非常底层 ...

  5. WPF入门教程系列二十三——DataGrid示例(三)

    DataGrid的选择模式 默认情况下,DataGrid 的选择模式为“全行选择”,并且可以同时选择多行(如下图所示),我们可以通过SelectionMode 和SelectionUnit 属性来修改 ...

  6. WCF入门教程(二)如何创建WCF服务

    WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...

  7. iOS开发-UI 从入门到精通(二)

    iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...

  8. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  9. 无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two]

    无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two] extjs技术交流,欢迎加群(201926085) 不管是几级下拉列表的联动实现本质上都是根据某个下拉列表的变化,去动态加载其 ...

  10. P6 EPPM R16.1安装与配置指南(二)

    P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...

随机推荐

  1. conda环境下使用nvcc -V报错nvcc: command not found的一种解决方法

    前言 缘起  实验室的学弟问我为什么他使用nvcc命令报错,起先我以为他用的是老师给的root账户,按照参考文献1便可以解决问题.  但由于并非root用户,/usr/local下没有cuda,于是便 ...

  2. idea application.properties图标显示异常(无小树叶)

    项目中(多级模块)如果没有主启动类时,新建的application.properties文件显示图标是文本格式图标,就如第一张图所示 添加该项目该模块下主启动类,就可以解决图标显示问题,也就可以看到可 ...

  3. .NET周报 【3月第4期 2023-03-24】

    国内文章 .NET应用系统的国际化-多语言翻译服务 https://www.cnblogs.com/tianqing/p/17232559.html 本文重点介绍了多语言翻译服务的设计和实现.文章描述 ...

  4. ASP.NET Core - 选项系统之选项验证

      就像 Web Api 接口可以对入参进行验证,避免用户传入非法的或者不符合我们预期的参数一样,选项也可以对配置源的内容进行验证,避免配置中的值与选项类中的属性不对应或者不满足预期,毕竟大部分配置都 ...

  5. uniapp安卓离线打包权限问题

    安卓离线打包需要在androidManifest.xml配置 在 manifest 节点下面加上权限(对应uniapp当中manifest.json当中安卓的权限配置),例如: <manifes ...

  6. 使用 diffusers 训练你自己的 ControlNet 🧨

    简介 ControlNet 这个神经网络模型使得用户可以通过施加额外条件,细粒度地控制扩散模型的生成过程.这一技术最初由 Adding Conditional Control to Text-to-I ...

  7. 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈

    二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支 ...

  8. [Linux]./configure | make | make install的工作过程与原理

    经常使用的Linux编译/安装命令,有必要了解一下原理了. step1 ./configure 配置与编译前检查 通常由软件开发商编写一个检测程序(configure或config)来检测用户的操作环 ...

  9. [MyBatis]MyBatis系列:模糊查询的4种实现方式【待完善】

    背景 客户现网遇到的1个子问题. 方案 LIKE + Concat(strA, strB) ... 参考文献 MyBatis系列:模糊查询的4种实现方式

  10. MySQL匿名空用户名处理

    问题描述:公司漏扫发现数据库内出现空用户名及密码,需要对这些用户进行整改 1.首先出现了疑问,这些空的用户名是怎么出现的,而且不附带密码. 2.可以手动这样创建这样的用户名和密码形式么. 3.如果能这 ...