经常有身边的学友问到用什么Python发行版比较好?

其实目前比较流行的Python科学计算发行版,主要有这么几个:

Python(x,y)

GUI基于PyQt,曾经是功能最全也是最强大的,而且是Windows系统中科学免费Python发行版的不二选择.不过今时已不同往昔! PythonXY里面的许多包为了兼容性的问题,无法使用最新的程序包。尤其是令人气愤的是MinGW到现在还是古董级的4.5版本,而TDM-GCC现在都4.8.1-3了。不过这个包在你安装了之后,除了占用较大的磁盘空间之外,基本上你也不用再费什么神去找了,对于科学计算要有的基本都有了:numpy,sicpy,matplotlib,spyder... 现在的版本是2.7.6.0。从安装到使用,时不时玩"崩溃"! 版本的稳定性远不如2.7.3.1.我估计可能是作者把主要精力转移到开发和维护WinPython上面去的原因吧!

WinPython

WinPython功能也是比较全的,软件包比较新,GUI基于PyQt,不过相对于Python(x,y),它主要是关注便携式安装体验:你可以把它装在u盘里面。我现在windows中已不再使用PythonXY了,改成WinPython了,对于MinGW,我直接安装了QT5.20(含MinGW4.8.0),再加上boost 1.54.0,用于科研,已非Visual Studio可以相提并论!现在的版本是2.7.6.3.稳定性已有相当的改善.发布的版本也比较全:

  1. WinPython-32bit-2.7.6.3.exe
  2. WinPython-32bit-3.3.2.3.exe
  3. WinPython-64bit-2.7.6.3.exe
  4. WinPython-64bit-3.3.2.3.exe

如果你还在使用PythonXY的话,那么可以考虑更换到WinPython或者是下面的Anaconda了.

Anaconda

这个是新起之秀,就今年已更新多次了,目前的版本是1.9.1。包管理使用conda,GUI基于PySide,所有的包基本上都是最新版,没有PyQt和wxpython等,容量适中,但该有的科学计算包都有:numpy,sicpy,matplotlib,spyder.....,目前我的CenTOS系统服务器安装的就是这个。Linux系统里面,Anaconda安装、更新和删除都很方便,且所有的东西都只安装在一个目录中/home/wxp/anaconda/,这点比下面的Canopy要好得多.Anaconda的开发和维护中有Python创始人和社区的核心成员,可以想象这个发行包肯定会"后来居上"!Anaconda目前提供Python 2.6.9,Python 2.7.X和Python 3.3.X三个系列发行包,这也是其他发行版所望尘莫及的。因此在各种操作系统中,无论是Linux,还是Windows,又或是Mac,我都强烈推荐Anaconda!

在Anaconda中升级和安装都很方便,只是不像winPython那样提供图形环境,而是使用命令行:

  1. conda list #查看所有的可安装包
  2. conda install wxpython #安装
  3. conda install pyqt #安装
  4. conda update ipython #升级

Enthought Canopy (Enthought Python Distribution)

Enthought目前的版本是1.3.0. GUI基于wxpython,包含PySide,但不包括PyQt.WxPython使用起来是比较方便,但是远没有PyQt和PySide流行,需要使用PyQt的可以自己安装。Canopy有自己的集成开发环境(IDE),里面的代码智能提示和自动补全功能不比IPython差的!Canopy中还集成了Pyhton包的在线升级和管理系统,很是方便。由于是商业级别的,Canopy的性能和稳定性超强!也提供免费的free版本和学术版本(用于教育科研也是免费的)。以前叫EPD,现在改名叫Canopy。Canopy是第一个将Ipython升级到1.1.0的发行版;MatPlotLib已升级到1.3.1;NumPy 1.8.0;Scipy 1.2.0. 但是它主要是追求性能和稳定性,所以不能指望所有的安装包都是最新的,例如对于MinGW,Canopy是4.8.1,其它版本的发行版可都是4.7呀!basemap官方的业已换成1.0.7了,这对于那些还在被迫使用Grads和NCL的用户而言是个福音!如果你有学校邮箱的话,可以在Enthought的网站注册一下,选择学术+full的发行版本,会让你的工作如虎添翼的。

Sage

万众瞩目的发行版,其目标是要干掉:MATLAB, MAPLE, MATCAD, Mathematica等。目前我也在学习中。

PS:

由于大名鼎鼎的MatPlotLib(stable 1.3.1),IPython(stable 1.2.1),Numpy(stable 1.8.1)和Scipy(0.13.3)都已发布最新稳定版,要不了几个月,上面的发行版都会迎来较大的一次更新,让我们拭目以待吧!

另外有个网站为了方便windows客户安装扩展库,提供*.exe发行版供下载,点击下面的链接即可

Unofficial Windows Binaries for Python Extension Packages

目前比较流行的Python科学计算发行版的更多相关文章

  1. Python科学计算发行版—Anaconda

    Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见的包括numpy.scipy和matplotlib.要利用Python进行科学计算,就需要一一安装所需的模块,而这些模块可能又依赖 ...

  2. Python 科学计算-介绍

    Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...

  3. Python科学计算(一)

    作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文件 http://git ...

  4. Python科学计算的瑞士军刀——Anaconda 安装与配置

    Introduce Python是一种强大的编程语言.其提供了非常多用于科学计算的模块,常见的包含numpy.scipy和matplotlib.要利用Python进行科学计算.就须要一一安装所需的模块 ...

  5. windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等

    安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...

  6. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  7. Python科学计算之Pandas

    Reference: http://mp.weixin.qq.com/s?src=3&timestamp=1474979163&ver=1&signature=wnZn1UtW ...

  8. Python科学计算库

    Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...

  9. Python科学计算基础包-Numpy

    一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...

随机推荐

  1. Linux 2.6 完全公平调度算法CFS(Completely Fair Scheduler) 分析

    转会http://www.ibm.com/developerworks/cn/linux/l-completely-fair-scheduler/index.html? ca=drs-cn-0125 ...

  2. SQL Server 2012 复制(发布订阅的研究)

    原文:SQL Server 2012 复制(发布订阅的研究) 已实现发布订阅功能,可以实现局域网内双击备份. 一.注意事项: a) 使用[事务复制]功能 b) 必须是相同的SqlServer 帐号和密 ...

  3. Chain of Responsibility - 责任链模式

    定义 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合度. 案例 比方如今有一个图形界面,它包含一个应用Application类,一个主窗体Window,一个buttonButton ...

  4. ExtJs在disabled和readOnly美学分析

    ExtJs中disabled和readOnly美观度的分析 ExtJs中.假设设置输入框为仅仅读属性,一般第一考虑的都是readonly=true 它的效果和正常输入框一样,可是不同意输入: 然而,它 ...

  5. Hadoop它——跑start-all.sh时间namenode不启动

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46353211 近期遇到了一个问题,运行start-all.sh的时候发现JPS一下 ...

  6. 【淡墨Unity3D Shader计划】四 热带雨林的文章: 排除、深度测试、Alpha测试和基本雾编译

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1222/163.html 作者:毛星云 ...

  7. projecteuler---->problem=19----Counting Sundays

    You are given the following information, but you may prefer to do some research for yourself. 1 Jan ...

  8. Android - 视图Android应用(apk)签名

    视图Android应用(apk)签名 本文地址: http://blog.csdn.net/caroline_wendy 在微博.微信开放平台注冊应用时,须要填写应用(apk)的签名,能够使用keyt ...

  9. redis修改的源代码zincrby,hincrby命令

    在项目中大量使用zincrby命令.究其原因是统计一些统计指标的日志值,和需要返回到顺序topn. 通常情况下,.调用一次的指示器zincrby(zincrby default:type 1 type ...

  10. Python学习笔记16:标准库多线程(threading包裹)

    Python主要是通过标准库threading包来实现多线程. 今天,互联网时代,所有的server您将收到大量请求. server要利用多线程的方式的优势来处理这些请求,为了改善网络port读写效率 ...