经常有身边的学友问到用什么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. Windows平台Oracle使用USE_SHARED_SOCKET角色

    前两天在一个朋友QQ集团提出了一个问题.背景例如,下面的: 继续问后,有例如以下回复: 1.对方server连接无问题. 2.从client能够telnetserver的1521port. 3.tns ...

  2. 采用xshell链路本地虚拟机Linux

    昨天想安装在自己的机器看Linux.而使用xshell通路.但是这花了很长的时间,于xshell结束所有的提示"Could not connect to '192.168.54.100' ( ...

  3. 【Socket规划】套接字Windows台C语言

    [编译环境]:Visual Studio 2013 这是服务端实现流程. #include<stdio.h> #include<stdlib.h> #include<wi ...

  4. 动态传递参数到DevExpress.XtraReports的小结

    原文:动态传递参数到DevExpress.XtraReports的小结 前两种方法和WinForm一样,可以传递参数.数组.实体对象.DataTable等1. 采用构造函数具体用法:在Report中p ...

  5. 第13章 模版方法模式(Template Method)

    原文  第13章 模版方法模式(Template Method) 模板模式 模板模式 举例:模拟下数据库的update方法,先删除在插入. 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也 ...

  7. 纠错《COM技术内幕》之ProgID

    近期在看<COM技术内幕>,看到第六章时发现该章节在解释ProgID时有点错误,特此记录一下,也给正在学习COM的小伙伴们一个提示. 并且我发现该问题存在于一些非常多大型软件的COM组件中 ...

  8. Cookie基础

    周末百度笔试,答得题都会,就是不仔细不心细,提前一个小时交卷子,想起来就已经晚了.问了一个cookie的问题,我SB的蒙住了,于是乎,似乎是跪掉了,回来后总结了下Cooke的相关问题.###获取coo ...

  9. 【百度地图API】批量地址解析与批量反地址解析(带商圈数据)

    原文:[百度地图API]批量地址解析与批量反地址解析(带商圈数据) 摘要:因为地址解析的webserives方式还没有开通,所以先用JS版本的地址解析接口来批量获取地址解析数据吧,同时还能得到商圈的数 ...

  10. Msgbox消息框

    于"自"<软件开发工具>一本书有这样的制剂,让我回忆--程序员可以做,让用户做:它允许用户做的少,即使是那些谁需要做的程序设置.我们应该做的. 这不是宣言.该是践行. ...