前言
內建開發環境(IDE)是提供給程式員和開發者的一種基本應用,用來編寫和測試軟體。一般而言,IDE 由一個編輯器,一個編譯器(或稱之為解釋器),和一個調試器組成,通常能夠通過 GUI(圖形界面)來操作。
根據維基百科的描述:“Python 是一種廣泛使用的進階的、通用的、解釋的、動态程式設計語言。” Python 是一種相當古老且流行的語言,它是開源的,常被應用于網站開發(利用 Django、Flask 等架構)、科學統計計算(NumPy、SciPy 等庫可以幫助計算)、軟體開發等甚至更多。
文本編輯器不足以用來建構一些大型的系統,比如那些需要整合子產品和庫的系統。這時則需要一個好的IDE。

下面是一些 Python IDE,這些 IDE 各有特點,能夠幫助你挑選到合适的來解決你的機器學習問題。
1、JuPyter/IPython Notebook
Jupyter 項目開始于 2014 年,在所有程式設計語言中,是一種用于支撐科學計算和互動式計算科學的衍生式 IPython。
IPython Notebook 表示” IPython 3.x 是 IPython 的最後一個版本。而 IPython4.0 中非語言相關的部分比如記事本格式,消息協定,筆記本網站應用等,已經移到了Jupyter下作為新項目,IPython将專注于互動式Python,在此期間,也将為 Jupyter 提供 Python 核心子產品”。
Jupyter 由三個元件構成:筆記本應用程式、核心、筆記本檔案。
開源。
支撐 30 種語言,包括一些資料科學領域很流行的語言,如 Python、R、scala、Julia 等。
允許使用者建立和共享檔案,檔案中可以包括公式、圖像以及重要的代碼。
擁有互動式元件,可以程式設計輸出視訊、圖像、LaTaX。不僅如此,互動式元件能夠用來實時可視化和操作資料。
它也可以利用 scala、python、R 整合大資料工具,如 Apache 的 spark。使用者能夠拿到和 pandas、scikit-learn、ggplot2、dplyr 等庫内部相同的資料。
markdown 标記語言能夠代碼标注,使用者能夠将邏輯和思考寫在筆記本中,這和python内部注釋部分不同。
Jupyter 筆記本的用途包括資料清洗、資料轉換、統計模組化和機器學習。
在像 matplotlib、NumPy、Pandas 等庫裡整合了機器學習的一些特性。Jupyter 筆記本有一個最重要的特性就是它能夠用圖顯示單元代碼的輸出。
在 Google、微軟、IBM 等公司它很流行,另外一些教育機構如加州大學伯克利分校和密歇根州立大學也經常用。
2、 PyCharm
PyCharm 由一家位于捷克-布拉格的公司JetBrains所開發。它的測試版在 2010 年 7 月釋出,1.0 版本在三個月以後也就是 2010 年 10 月釋出。
PyCharm 是一款有十足特性的專業的PythonIDE。共有兩個版本:PyCharm 社群版,是免費的,另一款是專業版,有30天的免費試用期。
PyCharm 在一些大公司諸如惠普、Pinterest、推特、Symantec、Groupon 等大公司十分流行。
它能對類、對象、關鍵字的補全和自動縮進,能格式化代碼,定制代碼片段和格式。
支援錯誤的突出顯示,同時也包含 PEP-8,能幫助寫出整潔的代碼,易于支撐其他語言。
它提供快速和安全的重構功能。
它帶有一個圖形界面式的 Python/JavaScript 調試器。使用者能夠基于 GUI 來測試。
它有一個快速的文檔定義視圖,能在不丢失上下文的情況下看到文檔或對象的定義。同時 Jetbrain 提供的文檔十分全面,還包含視訊教程。
當然。最重要的一個特性就是它對 Scikit-learn, Matplotlib, Numpy, Pandas等機器學習庫的支援。
在 Matplotlib 互動模式可以運作在 Python 或者是調試的控制台上,使用者可以實時進行畫圖,組織。
另外,使用者能夠根據自己的項目定義不同的 python 環境(Python2.7、Python3.0、虛拟環境)。
3、Spyder
Spyder代表科學Python開發環境的縮寫。Spyder 的作者是 Pierre Raybaut,在 2009.10.18 釋出,Spyder 是用 python 寫的。
支援代碼糾錯,分析,補全,水準或垂直切分,跳轉标記。
提供 Python 和 Ipython 控制台工作空間,支援實時調試。比如,你隻要鍵入,它就能顯示錯誤。
文檔檢視器,能夠顯示控制台上或編輯器中調用的類或者功能其相關文檔。
它支援變量的預覽,比如使用者在圖形界面操作數組檔案的時候,能夠同時浏覽和編輯這些在執行期間産生的變量。
它整合了 NumPy, Scipy, Matplotlib 以及其他的科學統計庫。在 NumPy, Scipy, Matplotlib 這些庫的基礎上,使用互動式控制台建構和測試資料統計應用或者腳本的時候,Spyder 是最好的。
除了這個,它也是一款機器簡單,輕量級的軟體,易于安裝,有非常詳細的文檔。
4、Rodeo
Rodeo 是一款專門用于做機器學習和資料科學的 Python IDE。由 Yhat 開發,使用 IPython 的核心。
便于浏覽,比較,資料與圖之間的互動操作。
Rodeo 文本編輯器提供自動補全,文法高亮,且内置的 IPython 支援編碼更快。
Rodeo繼承了 Python 教程,它包括一些速查表能夠快速查詢資料。
對于用習慣了 R 和 RStudio IDE 的研究人員和科學家來說,它很有用。
它有很多與 Spyder 相似的特性,但是它缺少了代碼分析,PEP 8 等。也許未來會補充一些新的特性吧。
5、Geany
Geany 是一款有 C/C++ 開發的 Python IDE,作者是 Enrico Tröger。最早的版本在 2005 年 10 月 19 日,它是一個小而輕量級的IDE(Windows版本為 14M),但和其他任何一個 IDE 一樣能勝任工作。
支援文法高亮和行号标注。
代碼自動補全,關閉括号,自動關閉 HTML 和 XML 标記的功能。
代碼折疊和導航。
使用者可以利用額外代碼來在外部編譯系統和執行代碼。
對于那些熟悉 RStudio,想找尋 python 支援的使用者。RStudio 已經為Python、XML、YAML、SQL 甚至 shell 都提供了編輯支援,即在 2014 年 6 月 18 日釋出的 0.98.932 版本中。雖然相比于 R,Python 僅有一點支援。
總結
覺得對于新手,尤其隻用過C/C++的新手而言,spyder最接近于VS的操作是最容易上手的;
用過PyCharm你不會考慮其他IDE了。
本文轉自大資料躺過的坑部落格園部落格,原文連結:http://www.cnblogs.com/zlslch/p/7977039.html,如需轉載請自行聯系原作者