前言html
集成開發環境(IDE)是提供給程序員和開發者的一種基本應用,用來編寫和測試軟件。通常而言,IDE 由一個編輯器,一個編譯器(或稱之爲解釋器),和一個調試器組成,一般可以經過 GUI(圖形界面)來操做。python
根據維基百科的描述:「Python 是一種普遍使用的高級的、通用的、解釋的、動態編程語言。」 Python 是一種至關古老且流行的語言,它是開源的,常被應用於網站開發(利用 Django、Flask 等框架)、科學統計計算(NumPy、SciPy 等庫能夠幫助計算)、軟件開發等甚至更多。程序員
文本編輯器不足以用來構建一些大型的系統,好比那些須要整合模塊和庫的系統。這時則須要一個好的IDE。shell
下面是一些 Python IDE,這些 IDE 各有特色,可以幫助你挑選到合適的來解決你的機器學習問題。編程
一、JuPyter/IPython Notebook數組
Jupyter 項目開始於 2014 年,在全部編程語言中,是一種用於支撐科學計算和交互式計算科學的衍生式 IPython。安全
IPython Notebook 表示」 IPython 3.x 是 IPython 的最後一個版本。而 IPython4.0 中非語言相關的部分好比記事本格式,消息協議,筆記本網站應用等,已經移到了Jupyter下做爲新項目,IPython將專一於交互式Python,在此期間,也將爲 Jupyter 提供 Python 核心模塊」。微信
Jupyter 由三個組件構成:筆記本應用程序、內核、筆記本文件。markdown
開源。框架
支撐 30 種語言,包括一些數據科學領域很流行的語言,如 Python、R、scala、Julia 等。
容許用戶建立和共享文件,文件中能夠包括公式、圖像以及重要的代碼。
擁有交互式組件,能夠編程輸出視頻、圖像、LaTaX。不只如此,交互式組件可以用來實時可視化和操做數據。
它也能夠利用 scala、python、R 整合大數據工具,如 Apache 的 spark。用戶可以拿到和 pandas、scikit-learn、ggplot二、dplyr 等庫內部相同的數據。
markdown 標記語言可以代碼標註,用戶可以將邏輯和思考寫在筆記本中,這和python內部註釋部分不一樣。
Jupyter 筆記本的用途包括數據清洗、數據轉換、統計建模和機器學習。
在像 matplotlib、NumPy、Pandas 等庫裏整合了機器學習的一些特性。Jupyter 筆記本有一個最重要的特性就是它可以用圖顯示單元代碼的輸出。
在 Google、微軟、IBM 等公司它很流行,另一些教育機構如加州大學伯克利分校和密歇根州立大學也常常用。
二、 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.七、Python3.0、虛擬環境)。
三、Spyder
Spyder表明科學Python開發環境的縮寫。Spyder 的做者是 Pierre Raybaut,在 2009.10.18 發佈,Spyder 是用 python 寫的。
開源。
支持代碼糾錯,分析,補全,水平或垂直切分,跳轉標記。
提供 Python 和 Ipython 控制檯工做空間,支持實時調試。好比,你只要鍵入,它就能顯示錯誤。
文檔查看器,可以顯示控制檯上或編輯器中調用的類或者功能其相關文檔。
它支持變量的預覽,好比用戶在圖形界面操做數組文件的時候,可以同時瀏覽和編輯這些在執行期間產生的變量。
它整合了 NumPy, Scipy, Matplotlib 以及其餘的科學統計庫。在 NumPy, Scipy, Matplotlib 這些庫的基礎上,使用交互式控制檯構建和測試數據統計應用或者腳本的時候,Spyder 是最好的。
除了這個,它也是一款機器簡單,輕量級的軟件,易於安裝,有很是詳細的文檔。
四、Rodeo
Rodeo 是一款專門用於作機器學習和數據科學的 Python IDE。由 Yhat 開發,使用 IPython 的內核。
便於瀏覽,比較,數據與圖之間的交互操做。
Rodeo 文本編輯器提供自動補全,語法高亮,且內置的 IPython 支持編碼更快。
Rodeo繼承了 Python 教程,它包括一些速查表可以快速查詢資料。
對於用習慣了 R 和 RStudio IDE 的研究人員和科學家來講,它頗有用。
它有不少與 Spyder 類似的特性,可是它缺乏了代碼分析,PEP 8 等。也許將來會補充一些新的特性吧。
五、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/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我願分享。本公衆號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和我的學習工做的精華乾貨知識,一切來於互聯網,反饋回互聯網。
目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及日常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在羣裏,天天必須有收穫
對應本平臺的討論和答疑QQ羣:大數據和人工智能躺過的坑(總羣)(161156071)