[原創]選擇Python科學計算發行版

最近重裝Python,看了一下Python科學計算髮行版,打算多玩一下數據處理和數值計算。

Python用於科學計算的一些常用工具和庫


  • IPython-增強的交互環境:支持變量自動補全,自動縮進,支持 bash shell 命令,內置了許多很有用的功能和函數
  • Spyder、Wing IDE或Eclipse/Pydev:集成開發環境
  • NumPy-數學計算基礎庫:N維數組、線性代數計算、傅立葉變換、隨機數等。
  • SciPy-數值計算庫:線性代數、擬合與優化、插值、數值積分、稀疏矩陣、圖像處理、統計等。
  • SymPy-符號運算
  • Pandas-數據分析庫:數據導入、整理、處理、分析等。
  • matplotlib-會圖庫:繪製二維圖形和圖表
  • Chaco-交互式圖表
  • OpenCV-計算機視覺庫
  • TVTK-數據的三維可視化
  • Cython-Python轉C的編譯器:編寫高效運算擴展庫的首選工具
  • BioPython-生物科學

Python科學計算髮行版


  • Python(x,y) 當前最新版本:2.7.6.1 (05/30/2014),支持Windows和Python2.7.6

    其庫索引列出了所支持的170+Python27庫。

  • WinPython 當前最新版本:2.7.6.4和3.3.5.0 (04/2014),支持Windows和Python2.7.6、3.3.5。

    其庫索引列出了所支持的60+Python27庫。

    其庫索引列出了所支持的60+Python33庫。

  • Enthought Canopy(Enthought Python Distribution) 當前最新版本:1.4.1 (06/11/2014),支持Linux, Windows, Mac平臺和Python2.7.6。

    其庫索引列出了所支持的150+測試過的Python庫。

  • Anaconda 當前最新版本:2.0.1 (06/12/2014),支持Linux, Windows, Mac平臺和Python 2.6、2.7、3.3、3.4。

    其庫索引列出了所支持的195+流行Python庫。

Sage不是Python發行版,而是一個由Python和Cython實現的開源數學軟件系統,將很多已有的(C 、C++、Fortran和Python編寫的)數學軟件包集成到一個通用接口(記事本文檔接口和IPython命令行界面),用戶只需瞭解Python,就可以通過接口或包裝器(wrapper)使用NumPy、SciPy、matplotlib、Sympy、Maxima、GAP、 FLINT、R和其他已有軟件包(具體信息見組件列表),完成代數、組合數學、計算數學和微積分等計算。其最初的目標是創造一個“Magma、Maple、Mathematica和MATLAB的開源替代品”。當前最新版本:6.3 (08/10/2014),支持Linux, Windows, Mac平臺和Python2.x。

我的選擇和推薦


Python(x,y)和WinPython都是開源項目,其項目負責人都是Pierre Raybaut。按Pierre自己的說法是“WinPython不是試圖取替Python(x,y),而是出於不同動機和理念:更靈活、易於維護、可移動、對操作系統侵略性更小,但是用戶友好性更差、包更少、沒有同Windows資源管理器集成。”。參考1裡面說Python(x,y)不是很穩定,此外看它目前的更新不是很頻繁,確實有可能Pierre後來的工作重心放在WinPython上了。

Canopy和Anaconda是公司推的,帶免費版和商業版/插件。這兩款發行版也牽扯到一個人,那就是Travis Oliphant。Travis是SciPy的原始作者,同時也是NumPy的貢獻者。Travis在2008年以副總裁身份加入Enthought,2012年以總裁的身份離開,創立了一個新公司continuum.io,並推出了Python的科學計算平臺Anaconda。Anaconda相對Canopy支持Python的版本更多,對Python新版本支持跟的很緊(Sage不支持Python3.x的理由是因為其依賴的SciPy還不支持Python3,而Anaconda卻實現了支持Python3.3和3.4,這就說明問題了),此外其在Linux平臺下(通過conda管理)安裝更方便。

不言而喻,我最後選擇了安裝科學計算髮行版Anaconda:)

參考


  1. 目前比較流行的Python科學計算髮行版
  2. 《Python科學計算》 清華大學出版社
  3. Re-packaged Python
  4. Scientific computing with Python

原文

http://blog.sina.com.cn/s/blog_72ef7bea0101imaj.html