经常有身边的学友问到用什么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. Jquery 分页插件 Jquery Pagination

    Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也 ...

  2. validform.js使用方法

    表单验证之validform.js使用方法 一.validform有什么用? 网页上有大量的input需要你进行验证的时候,如果是弹窗的话,需要不停地判断,如果为空,弹窗.如果不是数字,弹窗. 所以要 ...

  3. 使用iframe从网页调起移动端应用

    比如想在网页中调起支付宝,我们可以创建一个iframe,src为: alipayqr://platformapi/startapp?saId=10000007&clientVersion=3. ...

  4. Python 目录操作(转)

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  5. ABP领域层——领域事件(Domain events)

    ABP领域层——领域事件(Domain events) 基于DDD的现代ASP.NET开发框架--ABP系列之14.ABP领域层——领域事件(Domain events) ABP是“ASP.NET B ...

  6. 关于system()的一些用法

    C语库函数 函数名: system  功  能: 发出一个DOS命令  用  法: int system(char *command);  它包含头文件<stdlib.h>  system ...

  7. JS动态获取浏览器宽度和高度

    $(window).resize(function() { var width = $(this).width(); var height = $(this).height(); });

  8. C#-TextBox-登录表单password无形---ShinePans

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. java_Timer_schedule jdk自带定时器

    定时器经常在项目中用到,定制执行某些操作,比如爬虫就需要定时加载种子等操作,之前一直用spring的定制器近期做项目发现,jdk有很简单的提供 代码如下 1 /* * Copyright (c) 20 ...

  10. 教你一步一步部署.net免费空间OpenShift系列之三------上传ASP.net程序

    接上回书,创建应用后,我们如何将自己的ASP.Net部署到应用空间呢,这里用WinSCP的SFTP协议进行上传和下载 上传ASP.net程序 下载WinSCP,并打开PuTTYGen 点击Genera ...