Anaconda介绍
最近在看《Python语言及其应用》这本书,作为一本介绍Python语言和应用的书非常不错。在这本书的最后,介绍了一些Python常用的第三方类库,像科学计算库、金融计算库、图形图像库等等。其中也介绍了Anaconda。不过其实Anaconda我之前在网上就了解了一下,不过感觉没啥用。但是看了这本书之后,我感觉Anaconda还是很有用的,所以来介绍一下。
Anaconda是一个科学计算包,包含了一个Python二进制分发包、很多Python科学计算类库(总计超过720个开源类库)、以及一个方便的包管理器工具来下载其他类库。如果你需要使用Python进行科研工作,一劳永逸地下载Anaconda是一个不错的办法。
下载Anaconda
首先到下载页面下载Anaconda,它是跨Windows、MacOS、Linux三个平台的,并且有Python3和Python2两个版本。安装你自己的需求下载对应的就行了。对于我来说,自然是下载Python3的Windows版本。在网页上还可以看到,Anaconda大约有400多M,而标准Python安装包才几十M,因为Anaconda包含了很多第三方类库。
当然我测试了一下,发现下载速度很慢,需要*。不过我在使用迅雷下载的时候,发现评论里面说去清华镜像下载。所以我就查了一下,果然发现镜像下载页面。试了一下下载速度飞快。
下载完成之后安装即可。唯一需要注意的就是安装过程中的两个选项:第一个询问是否将Anaconda添加到环境变量中,如果不添加的话,如果想要使用命令行只能打开Anaconda自带的命令行工具;第二个选项会询问是否将Anaconda的Python注册为系统的主要Python,如果选择的话,其他程序例如IDE以及其他依赖Python的程序改为识别Anaconda的Python。如果没有特殊需求的话,安装默认配置安装即可。由于Anaconda附带了700多个类库,所以安装可能会比较慢(类似Qt那样的慢)。
设置Anaconda镜像
默认情况下Anaconda安装软件包会比较慢,我们可以使用镜像来加速。在上面的清华镜像网站上就有添加Anaconda的教程。
如果要添加conda
命令的镜像,可以使用下面的命令。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
如果需要添加第三方源,还可以使用下面的命令,添加conda-forge
和msys2
的源。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
使用Anaconda
安装完成之后,我们打开开始菜单,会发现Anaconda安装了很多东西。下面来逐一介绍一下。
包管理器
首先来说说包管理器。Anaconda会为我们安装两个新条目,Anaconda Navigator和Anaconda Prompt,前者是conda命令的图形化客户端,后者是命令提示符。
下面就是Anaconda Navigator的截图,有兴趣的同学可以自己探索一下。
如果需要使用命令来安装软件,可以使用conda
命令来安装,使用方法基本上和pip
差不多,这里就不废话了。
交互环境
IPython
一开始我把IPython和IronPython搞混了,前者是一个改良的Python交互环境,后者则是基于.NET平台编写的Python解释器。
下面是IPython的截图,可以看到它比普通的Python解释器窗口功能更丰富,对于每一条输入输出都带了编号,如果需要重复输入原来的内容,可以使用编号代替重复输入。
Jupiter Notebook
如果不喜欢IPython的终端界面,可以试一试Jupiter Notebook。它是IPython的Web封装,在浏览器中交互运行Python代码。
Spyder
然后来说说Spyder,这是一个图形化的Python交互环境,可以当做IDE来使用。具体的使用和配置我也不太清楚,有兴趣的同学可以自行探索一下。
其他工具
Anaconda基本上就是一个科学计算包,所以安装好了之后,就可以直接使用它附带的各种科学计算工具了。由于我自己对这方面也不甚了解,所以就不说了。
总之,如果你希望进行一些科学计算等方面的学习和研究,又不想一个一个地安装Python模块,那么就来使用一下Anaconda吧。它附带的各种工具,说不定可以满足你的需求。