(搬运自我在SegmentFault的博客)
最近在用Python做中文自然语言处理。使用的IDE是PyCharm。PyCharm确实是Python开发之首选,但用于科学计算方面,还略有欠缺。为此我尝试过Enthought Canopy,但Canopy感觉把问题搞得复杂化,管理Python扩展也不太方便。直到今天我发现了Anaconda。
Anaconda是一个和Canopy类似的科学计算环境,但用起来更加方便。自带的包管理器conda也很强大。
首先是下载安装。Anaconda提供了Python2.7和Python3.4两个版本,同时如果需要其他版本,还可以通过conda来创建。安装完成后可以看到,Anaconda提供了Spyder,IPython和一个命令行。下面来看一下conda。
输入conda list
来看一下所有安装时自带的Python扩展。粗略看了一下,其中包括了常用的 Numpy
,Scipy
,matplotlib
和networkx
等,以及beautiful-soup
,requests
,flask
,tornado
等网络相关的扩展。
奇怪的是,里边竟然没有sklearn
,所以首先装一下它。
conda install scikit-learn
如果需要指定版本,也可以直接用[package-name]=x.x
来指定。
conda的repo中的扩展不算太新,如果想要更新的,可能要用PyPI或者自己下载源码。而conda和pip关联的很好。使用pip安装的东西可以使用conda来管理,这点要比Canopy好。下图是我用pip安装的nltk
,jieba
和gensim
。
我对这个科学计算环境的另一个要求就是能够多个Python版本并存,尤其是2.x和3.x的并存。这个通过virtualenv
可以做到。Anaconda也正是通过其实现的。
下面用conda创建一个名叫python2的版本为python2.7的环境。
conda create -n python2 python=2.7
这样就会在Anaconda安装目录下的envs目录下创建python2这个目录。
向其中安装扩展可以:
conda install
并用-n
指明安装到的环境,这里自然就是python2
。virtualenv
那样,先activate,然后在虚拟环境中安装。这里突然有一个问题,怎样在IDE中使用创建出来的环境?如果是PyCharm等IDE,直接设置Python安装目录就可以了。那spyder呢?其实spyder就是一个Python的扩展,你需要在虚拟环境中也装一个spyder。
最后就是spyder的主界面。变量查看窗口很好用。