在 Linux 下安装基于 Python 的机器学习编程环境

试用了一下 EPD 的Canopy,感觉不错。Anaconda由于不知名的原因,在我的笔记本上装成功了,但是没有运行起来,可能是QT的原因吧。Anyway,到现在,我都不推荐了。还是坚持原来的方法,因为安装套装之后,安装额外的包会更麻烦。比如Canopy,虽然学术许可不要钱,而且包括了EPD提供的所有的包,但是还是有其他的包不在EPD的库里面,而且EPD库中的有些包不够新,用起来都存在问题。

折腾后的推荐:自己动手装,然后用 PyCharm 做编辑器。

------------------再更新分割线------------------------

肖楠的提示,可以安装Anaconda。之前在 Windows 上试过这个东西,不过由于先入为主的原因,一直在 Windows 上都在用pythonxy,尝试过 Anaconda,不过由于在 Windwos 里面的界面实在丑陋,就算了。而且担心是否能升级 package 等问题,不过看了Anaconda 的文档之后,这些疑虑都打消了,就不用使用下面这样费劲的方式了。

推荐Anaconda

P.S. 昨天看两个研究生在那折腾,看到程序编译的过程,自己把 package 安装成功,的确不错。各有利弊吧,自己按需选择就好。我觉得第一次,自己从头安装一遍,对自己有好处,之后就没必要费事了,用套装就好。

--------------更新分割线-------------

今天恰好让硕士生在 Linux 下跑一下 LDA 的源程序,就想着倒不如直接安装编程环境,让他们往 Linux 方向过渡。中间遇到了不少困难,在这记录一下。

Linux 发行版是基于 Ubuntu12.04 LTS 的 Elementary OS - Luna,为什么呢?因为漂亮!而且没有了 Ubuntu 现在用的那套非常不好看,而且死占资源且难用的桌面环境!同时基于 Ubuntu,还保留了易用的特性。

  1. 源和 Python package 的问题。由于学校支持 IPv6,所以可以用支持 IPv6的源,速度非常快。但是由于有些 Python package 没有进入到 Ubuntu 的软件仓库中,另外,Ubuntu 软件仓库中的版本都比较低。在 Ubuntu 上我也不知道有没有和 homebrew 一样好用的东西(刚才查了一下,有linuxbrew,以后可以试一下)。所以源最好设置成能同时支持 IPv4和 IPv6的源,如果不行的话,就设置成只支持 IPv6的源就好了,因为用 IPv4仅仅是用来安装 Python 的包,不用到软件仓库中的内容。当然,如果你的环境不像我学校上网这么费劲,也不用扯这些了。
  2. build-essential。这个是用来编译 Python 包的,因为 Python 是用 C 写的嘛,所以会用到 build essential 中的 g++编译器。(写到这里,真的要吐槽一下,现在国内的本科计算机教育教 Linux 的太少了!全被微软惯坏了!)
  3. Python。一定要装 Python2,而不是3,因为现在还有些包不支持3呢,犯不着跟自己较劲。Linux 发行版都默认带 Python 的,所以也不用自己装一遍了。但是,这里最好建议装 Python-dev,因为装 scipy 的时候好像是用到了。因为Python 和 Python-dev 就在软件仓库里面,装一下很方便。至于2.7.x 的版本问题,甚至2.x 的问题,我觉得都不是大问题,因为现在基本上都是2.7起跳了,第三位的版本差别不影响什么。
  4. setuptool。也就是 pip,这个在软件仓库里面直接 sudo apt-get 就好了。
  5. virtualenv 和 virtualenvwrapper。谁用谁知道!!!而且像 Linux 和 Mac 这种 Python 直接集成在系统中的情况,万一保不齐哪天你把 Python 搞坏了,弄不好就要重装系统。virtualenv 可以独立出一个个独立封闭的开发环境,virtualenvwrapper 可以使环境切换更容易些,那就装吧。不过不建议装软件仓库中的版本,比较老。直接用 pip 装。
  6. 准本工作。在安装 numpy 和 scipy 之前,用 sudo apt-get build-dep python-numpy, python-scipy, matplotlib 把这些需要安装的包的依赖先装好,要不然后续用 pip 安装的时候可能会因为权限和依赖问题编译不成功。
  7. 三件套!pip install -U numpy; pip install -U scipy; pip install -U matplotlib。这样可以从以前软件仓库中安装的升级(如果有的话)安装最新版本。
  8. 其他的,比如 nltk 啊,gensim 啊,ipython 啊,都可以用 pip 直接安装了.
编辑于 2016-08-18 14:11