Python的應(yīng)用無處不在,各種流行軟件都有Python的身影嬉挡。相比起最流行的Java钝鸽、C/C++等語言道川,Python語言更加簡潔部翘,開發(fā)更加快速材义,這對于初學者非常友好抓督,而且Python作為腳本語言,更適合開發(fā)小型應(yīng)用幕屹,極其適合在應(yīng)用開發(fā)初期時用來做原型 。
本文為剛開始學習 Python 的小白到專家都提供了適合使用的 Python IDE。當然優(yōu)秀的項目還有很多阱穗,本文僅選取其中的 7 款,您也可以在評論區(qū)寫下最喜歡的一款以供其他開發(fā)者學習和交流使鹅。
Eric
Eric是一個用Python編寫的全功能的Python編輯器和IDE揪阶。它基于跨平臺的Qt GUI工具包,集成了高度靈活的Scintilla編輯器控件患朱。它被設(shè)計成處理日陈沉牛瑣碎雜事的編輯器,同樣也是具有許多 python為專業(yè)編碼人員提供的前衛(wèi)功能專業(yè)項目管理工具。eric包含一個插件系統(tǒng)冰沙,它允許通過從網(wǎng)絡(luò)下載的插件輕松擴展IDE功能侨艾。
當前穩(wěn)定版本eric6基于PyQt5 / 4(Qt5 / 4)和Python 3或Python 2開發(fā)的。
Wing IDE
WingIDE 是個相當優(yōu)秀的 IDE;其編輯器包括大量語言的語法標簽高亮顯示侥啤,雖然它只是個面向 Python 的工具当叭。源代碼瀏覽器對瀏覽項目或模塊非常實用(表現(xiàn)在可導航源代碼和文檔行摘要中)。雖然沒有監(jiān)視器盖灸,但調(diào)試器設(shè)計得很好蚁鳖。編輯器有優(yōu)秀的命令自動完成和函數(shù)跳轉(zhuǎn)列表,但是沒有代碼合并赁炎。
面向項目風格的 IDE 對于大型產(chǎn)品非常有用(在這方面醉箕,除了 Komodo 以外,它是大多免費 IDE 中較好的)甘邀±湃粒總體的界面就像增強的 Idle,使用了與許多 TK 和 XWindow 界面類似的“多窗口”排列方式松邪。我喜歡使用對接和嵌入(這方面坞琴,并不是過多使用 MS Visual Studio 造成的),但不同的開發(fā)人員可能喜歡不同風格的窗體逗抑。WingIDE 是個很有前途的開發(fā)環(huán)境剧辐。
Ninja-IDE
A Real Python IDE 真正的Python-IDE開發(fā)環(huán)境 NINJA-IDE的名字來至于“Ninja-IDE Is Not Just Another IDE”荧关,它是一個多系統(tǒng)下的專業(yè)Python程序設(shè)計開發(fā)環(huán)境 NINJA-IDE使得開發(fā)Python軟件變得更加簡單,得益于它的豐富的可擴展性使得它可以適用于幾乎所有的情況 類似QTDesigner的界面褂傀,可自定義 安裝環(huán)境 2.5<=Python Version<=2.7.1 pyQT>=4.6 PyGments>=1.0 Rope>=0.9.2
PyCharm
PyCharm是由JetBrains打造的一款Python IDE仙辟。我們知道同波,VS2010的重構(gòu)插件Resharper就是出自JetBrains之手。而PyCharm用于一般IDE具備的功能叠国,比如未檩, 調(diào)試、語法高亮粟焊、Project管理冤狡、代碼跳轉(zhuǎn)孙蒙、智能提示、自動完成悲雳、單元測試挎峦、版本控制……另外,PyCharm還提供了一些很好的功能用于Django開發(fā)怜奖,同時支持Google App Engine浑测,更酷的是,PyCharm支持IronPython歪玲!
gEcrit
gEcrit 是一個 Python 集成開發(fā)工具滥崩,簡單易用岖圈,快速且輕量級。功能包括:代碼縮進钙皮、代碼行數(shù)顯示蜂科、代碼折疊、語法高亮短条、shell訪問导匣、代碼自動完成、程序運行茸时、源碼瀏覽贡定、指南、自動保存等功能可都。
Visual Studio Code
Visual Studio Code 是一個運行于 OS X渠牲,Windows 和 Linux 之上的旋炒,針對于編寫現(xiàn)代 web 和云應(yīng)用的跨平臺編輯器。
Python開發(fā)人員有一堆Visual Studio代碼擴展签杈,但最流行瘫镇、最容易、最重要的是Don Jayamanne的擴展答姥。 它與每一個最新版本的Python保持同步铣除,它集成了所有你想要的好東西的支持:代碼片段,代碼linting踢涌,自動完成通孽,與科學工具集成如Jupyter序宦,重構(gòu)睁壁,單元測試背苦,調(diào)試等等。
Github Atom
Atom 是 Github 專門為程序員推出的一個跨平臺文本編輯器。具有簡潔和直觀的圖形用戶界面钳降,并有很多有趣的特點:支持CSS厚宰,HTML,JavaScript等網(wǎng)頁編程語言遂填。它支持宏铲觉,自動完成分屏功能,集成了文件管理器吓坚。
另外推薦5個Python機器學習集成開發(fā)環(huán)境
集成開發(fā)環(huán)境(IDE)是提供給程序員和開發(fā)者的一種基本應(yīng)用礁击,用來編寫和測試軟件盐杂。一般而言,IDE 由一個編輯器哆窿,一個編譯器(或稱之為解釋器)链烈,和一個調(diào)試器組成,通常能夠通過 GUI(圖形界面)來操作挚躯。
根據(jù)維基百科的描述:“Python 是一種廣泛使用的高級的强衡、通用的、解釋的秧均、動態(tài)編程語言食侮。” Python 是一種相當古老且流行的語言目胡,它是開源的锯七,常被應(yīng)用于網(wǎng)站開發(fā)(利用 Django、Flask 等框架)誉己、科學統(tǒng)計計算(NumPy眉尸、SciPy 等庫可以幫助計算)、軟件開發(fā)等甚至更多巨双。
文本編輯器不足以用來構(gòu)建一些大型的系統(tǒng)噪猾,比如那些需要整合模塊和庫的系統(tǒng)。這時則需要一個好的 IDE筑累。
下面是一些 PythonIDE慢宗,這些 IDE 各有特點坪蚁,能夠幫助你挑選到合適的來解決你的機器學習問題——
JuPyter/IPython Notebook
Jupyter 項目開始于 2014 年敏晤,在所有編程語言中贱田,是一種用于支撐科學計算和交互式計算科學的衍生式 IPython。
IPython Notebook 表示” IPython 3.x 是 IPython 的最后一個版本嘴脾。而 IPython4.0 中非語言相關(guān)的部分比如記事本格式男摧,消息協(xié)議,筆記本網(wǎng)站應(yīng)用等译打,已經(jīng)移到了Jupyter下作為新項目耗拓,IPython將專注于交互式Python,在此期間奏司,也將為 Jupyter 提供 Python 核心模塊”帆离。
Jupyter 由三個組件構(gòu)成:筆記本應(yīng)用程序、內(nèi)核结澄、筆記本文件哥谷。
其核心特點:
- 開源。
- 支撐 30 種語言麻献,包括一些數(shù)據(jù)科學領(lǐng)域很流行的語言们妥,如 Python、R勉吻、scala监婶、Julia 等。
- 允許用戶創(chuàng)建和共享文件齿桃,文件中可以包括公式惑惶、圖像以及重要的代碼。
- 擁有交互式組件短纵,可以編程輸出視頻带污、圖像、LaTaX香到。不僅如此鱼冀,交互式組件能夠用來實時可視化和操作數(shù)據(jù)。
- 它也可以利用 scala悠就、python千绪、R 整合大數(shù)據(jù)工具,如 Apache 的 spark梗脾。用戶能夠拿到和 pandas荸型、scikit-learn、ggplot2炸茧、dplyr 等庫內(nèi)部相同的數(shù)據(jù)瑞妇。
- markdown 標記語言能夠代碼標注鹉究,用戶能夠?qū)⑦壿嫼退伎紝懺诠P記本中,這和python內(nèi)部注釋部分不同踪宠。
Jupyter 筆記本的用途包括數(shù)據(jù)清洗柳琢、數(shù)據(jù)轉(zhuǎn)換、統(tǒng)計建模和機器學習润脸。
在像 matplotlib柬脸、NumPy、Pandas 等庫里整合了機器學習的一些特性毙驯。Jupyter 筆記本有一個最重要的特性就是它能夠用圖顯示單元代碼的輸出倒堕。
在 Google、微軟爆价、IBM 等公司它很流行垦巴,另外一些教育機構(gòu)如加州大學伯克利分校和密歇根州立大學也經(jīng)常用。
PyCharm
PyCharm 由一家位于捷克-布拉格的公司JetBrains所開發(fā)。它的測試版在 2010 年 7 月發(fā)布序愚,1.0 版本在三個月以后也就是 2010 年 10 月發(fā)布憔披。
PyCharm 是一款有十足特性的專業(yè)的PythonIDE。共有兩個版本:PyCharm 社區(qū)版爸吮,是免費的芬膝,另一款是專業(yè)版,有30天的免費試用期形娇。
PyCharm 在一些大公司諸如惠普锰霜、Pinterest、推特桐早、Symantec锈遥、Groupon 等大公司十分流行。
其核心特點:
- 它能對類勘畔、對象所灸、關(guān)鍵字的補全和自動縮進,能格式化代碼炫七,定制代碼片段和格式爬立。
- 支持錯誤的突出顯示,同時也包含 PEP-8万哪,能幫助寫出整潔的代碼侠驯,易于支撐其他語言抡秆。
- 它提供快速和安全的重構(gòu)功能。
- 它帶有一個圖形界面式的 Python/JavaScript 調(diào)試器吟策。用戶能夠基于 GUI 來測試儒士。
- 它有一個快速的文檔定義視圖,能在不丟失上下文的情況下看到文檔或?qū)ο蟮亩x檩坚。同時 Jetbrain 提供的文檔十分全面着撩,還包含視頻教程。
當然。最重要的一個特性就是它對 Scikit-learn, Matplotlib, Numpy, Pandas等機器學習庫的支持赂乐。
在 Matplotlib 交互模式可以運行在 Python 或者是調(diào)試的控制臺上薯鳍,用戶可以實時進行畫圖,組織挨措。
另外挖滤,用戶能夠根據(jù)自己的項目定義不同的 python 環(huán)境(Python2.7、Python3.0浅役、虛擬環(huán)境)壶辜。
Spyder
Spyder代表科學Python開發(fā)環(huán)境的縮寫砸民。Spyder 的作者是 Pierre Raybaut,在 2009.10.18 發(fā)布奋救,Spyder 是用 python 寫的岭参。
其核心特點:
- 開源。
- 支持代碼糾錯尝艘,分析演侯,補全,水平或垂直切分背亥,跳轉(zhuǎn)標記秒际。
- 提供 Python 和 Ipython 控制臺工作空間,支持實時調(diào)試狡汉。比如娄徊,你只要鍵入,它就能顯示錯誤盾戴。
- 文檔查看器寄锐,能夠顯示控制臺上或編輯器中調(diào)用的類或者功能其相關(guān)文檔。
- 它支持變量的預覽,比如用戶在圖形界面操作數(shù)組文件的時候橄仆,能夠同時瀏覽和編輯這些在執(zhí)行期間產(chǎn)生的變量剩膘。
它整合了 NumPy, Scipy, Matplotlib 以及其他的科學統(tǒng)計庫怠褐。在 NumPy, Scipy, Matplotlib 這些庫的基礎(chǔ)上,使用交互式控制臺構(gòu)建和測試數(shù)據(jù)統(tǒng)計應(yīng)用或者腳本的時候您宪,Spyder 是最好的奈懒。
除了這個,它也是一款機器簡單蚕涤,輕量級的軟件,易于安裝铣猩,有非常詳細的文檔揖铜。
Rodeo
Rodeo 是一款專門用于做機器學習和數(shù)據(jù)科學的 Python IDE天吓。由 Yhat 開發(fā),使用 IPython 的內(nèi)核峦椰。
其核心特點:
- 便于瀏覽,比較汤功,數(shù)據(jù)與圖之間的交互操作物邑。
- Rodeo 文本編輯器提供自動補全,語法高亮滔金,且內(nèi)置的 IPython 支持編碼更快色解。
- Rodeo繼承了 Python 教程,它包括一些速查表能夠快速查詢資料餐茵。
對于用習慣了 R 和 RStudio IDE 的研究人員和科學家來說忿族,它很有用锣笨。
它有很多與 Spyder 相似的特性,但是它缺少了代碼分析道批,PEP 8 等错英。也許未來會補充一些新的特性吧。
Geany
Geany 是一款有 C/C++ 開發(fā)的 Python IDE,作者是 Enrico Tr?ger。最早的版本在 2005 年 10 月 19 日簿煌,它是一個小而輕量級的IDE(Windows版本為 14M)氮唯,但和其他任何一個 IDE 一樣能勝任工作。
其核心特性:
- 支持語法高亮和行號標注姨伟。
- 代碼自動補全惩琉,關(guān)閉括號,自動關(guān)閉 HTML 和 XML 標記的功能夺荒。
- 代碼折疊和導航瞒渠。
- 用戶可以利用額外代碼來在外部編譯系統(tǒng)和執(zhí)行代碼。
對于那些熟悉 RStudio,想找尋 python 支持的用戶剿吻。RStudio 已經(jīng)為Python窍箍、XML、YAML丽旅、SQL 甚至 shell 都提供了編輯支持椰棘,即在 2014 年 6 月 18 日發(fā)布的 0.98.932 版本中。雖然相比于 R榄笙,Python 僅有一點支持邪狞。