Anaconda

Python语言简洁,学习起来非常快,使用Python的科研工作者越来越多。Python拥有丰富的扩展包,这使得它可以轻松处理各种问题。

Python用于科学计算的包括但不限于如下:

  • Numpy:提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库等。
  • Scipy:提供许多科学计算函数库,包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等。
  • Pandas:基于Numpy,提供了大量库和一些标准的数据模型,比如二维数组。
  • Matplotlib:绘图包,旨在替代MATLAB。

Anaconda是一个集合,包括conda,Python解释器,一些第三方库。conda用于包管理和环境管理。包管理与pip类似,管理Python第三方库。conda将一切都看成包,包括conda本身和Python解释器。环境管理类似于virtualenv,能够允许用户使用不同版本的Python和不同的第三方库环境,并灵活切换。

用Anaconda来管理环境和第三方库将是非常方便的,而且自己安装这些库对新手来说是一个不小的挑战。

Anaconda包括了科学、数学、工程、数据分析中最受欢迎的300多个Python包,支持Python2/3, Windows/Linux/Mac,而且还是非常有好的安装包(.exe/.sh/.pkg)。一键安装科学计算中常用的包,爽!

安装Anaconda

在Linux上安装Anaconda非常简单。Anaconda带了很多包,体积非常大,为了节省空间也可以先装Miniconda,再装自己需要的包。

1
sh Anaconda3-5.1.0-Linux-x86_64.sh

安装过程中会提示安装的路径PREFIX=/home/chenwen/anaconda3,默认在用户的home目录,可以安装到其他地方。还会提示是否将此路径添加到用户的环境变量(/home/chenwen/.bashrc)。

安装Anaconda之后,输入如下命令验证Anaconda是否安装成功,并查看它的版本。

1
conda --version

修改源镜像

Anaconda安装成功之后,我们首先将软件源修改为清华大学的镜像,官方的帮助说明如下https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

各系统都可以通过修改用户目录下的.condarc文件。Windows 用户无法直接创建名为 .condarc的文件,可先执行conda config --set show_channel_urls yes生成该文件之后再修改。修改.condarc文件为如下内容后,即可添加 Anaconda Python 免费仓库。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

运行conda clean -i清除索引缓存,保证用的是镜像站提供的索引。

管理虚拟环境

有些包依赖特定版本的Python,或者依赖其他特定版本的包,与我们已有的Python环境不同。如果我们因此重装Python,或者重装一些软件包,就把已有的Python环境搞乱了,这时候虚拟环境就派上用场了。如果只是简单的学习Python,直接用基础环境就可以了,没有必要创建虚拟环境。

我们可以通过create命令来创建虚拟环境。

1
conda create --name tensorflow python=3.5

这样我就创建了一个名叫tensorflow的虚拟环境,当然你可以用任何你喜欢的名字代替。我还指定了Python版本是3.5。环境创建完毕后,我们可以使用info命令查看所有环境。

1
conda info --envs

我看到这条命令的输出有tensorflow /home/chenwen/anaconda3/envs/tensorflow,告诉我们tensorflow这个虚拟环境的路径。虚拟环境的实质就是创建了一个文件夹,把相关的包放在这里,并且把一些环境变量指向这里。如果需要切换到该虚拟环境,可以使用activate命令。

1
conda activate tensorflow

如果想取消激活,使用deactivate命令即可。

1
conda deactivate

如果想删除虚拟环境,使用remove命令。

1
conda remove --name tensorflow --all

当我们切换到某个虚拟环境后,就可以进行这个环境的包管理了。

管理包

查看安装的包,可以使用list命令。

1
conda list

如果你发现某个包默认没有装,比如scikit-learn,可以使用conda install 命令安装。

1
conda install scikit-learn

更新包,可以使用conda update命令

1
conda update scikit-learn

后记

Anaconda的功能非常强大,熟悉R的朋友可能知道Bioconductor,与此对应的有Bioconda。Bioconda不仅是装Python包,还能装很多其他生信软件。

此外,我还非常喜欢Anaconda带的IDE工具spyder,比起Python官方自带的IDLE强很多,但是又不复杂。