Python程序員常用的IDE和其它開發(fā)工具

Python程序員常用的IDE和其它開發(fā)工具

概述

“工欲善其事,必先利其器”,如果說(shuō)編程是程序員的手藝,那么IDE就是程序員的吃飯家伙了。

IDE的全稱是Integration Development Environment(集成開發(fā)環(huán)境),一般以代碼編輯器為核心,包括一系列周邊組件和附屬功能。一個(gè)優(yōu)秀的IDE,最重要的就是在普通文本編輯之外,提供針對(duì)特定語(yǔ)言的各種快捷編輯功能,讓程序員盡可能快捷、舒適、清晰的瀏覽、輸入、修改代碼。對(duì)于一個(gè)現(xiàn)代的IDE來(lái)說(shuō),語(yǔ)法著色、錯(cuò)誤提示、代碼折疊、代碼完成、代碼塊定位、重構(gòu),與調(diào)試器、版本控制系統(tǒng)(VCS)的集成等等都是重要的功能。以插件、擴(kuò)展系統(tǒng)為代表的可定制框架,是現(xiàn)代IDE的另一個(gè)流行趨勢(shì)。

IDE并非功能越多越好,因?yàn)楦嗟墓δ芡馕吨蟮膹?fù)雜度,這不但會(huì)分散程序員本來(lái)的精力,而且還可能帶來(lái)更多的錯(cuò)誤。只要基本功能滿足需要,符合自己使用習(xí)慣的IDE才是最好的IDE。程序員的邏輯永遠(yuǎn)是:用最合適的工具做最合適的事情。

正因?yàn)榇耍绕鸫蠖腎DE,以單純的文本編輯器結(jié)合獨(dú)立的調(diào)試器、交互式命令行等外部小工具也是另一種開發(fā)方式。由于python本身的簡(jiǎn)潔,因此在寫小的代碼片段以及通過(guò)示例代碼學(xué)習(xí)時(shí)這種方式尤其適合。

常用IDE簡(jiǎn)介

這里簡(jiǎn)單介紹Python程序員中最流行的若干IDE。

內(nèi)置IDE

Python的各個(gè)常見發(fā)行版都有內(nèi)置的IDE,雖然它們的功能一般不夠強(qiáng)大完整,但簡(jiǎn)便易得就是最大的優(yōu)勢(shì)。 對(duì)于初學(xué)者來(lái)說(shuō),它們也是上手的最好選擇,可以讓你更專注于語(yǔ)言本身而不會(huì)被繁復(fù)的IDE分散精力。

IDLE

IDLE是Python標(biāo)準(zhǔn)發(fā)行版內(nèi)置的一個(gè)簡(jiǎn)單小巧的IDE,包括了交互式命令行、編輯器、調(diào)試器等基本組件,足以應(yīng)付大多數(shù)簡(jiǎn)單應(yīng)用。 IDLE是用純Python基于Tkinter編寫的的,最初的作者正是Python之父Guido van Rossum本人。

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html-- 《One Day of IDLE Toying》,圖文并茂的入門文章

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm-- 《One Day of IDLE Toying》中文版

PythonWin

PythonWin是Python Win32 Extensions(半官方性質(zhì)的pythonfor win32增強(qiáng)包)的一部分,也包含在ActivePython的windows發(fā)行版中。如其名字所言,只針對(duì)win32平臺(tái)。

總體來(lái)說(shuō),PythonWin是一個(gè)增強(qiáng)版的IDLE,尤其是易用性方面(就像windows本身的風(fēng)格一樣)。除了易用性和穩(wěn)定性之外,(簡(jiǎn)單的)代碼完成和更強(qiáng)的調(diào)試器都是相對(duì)于IDLE的明顯優(yōu)勢(shì)。

Python Win32 Extensions的下載頁(yè):http://sourceforge.net/projects/pywin32/

ActivePython的主頁(yè):http://www.activestate.com/Products/ActivePython/

MacPython IDE

MacPythonIDE是Python的Mac OS發(fā)行版內(nèi)置的IDE,可以看作是PythonWin的Mac對(duì)應(yīng)版本,由Guido的哥哥Just van Rossum編寫。

Emacs和Vim

Emacs和Vim號(hào)稱是這個(gè)星球上最強(qiáng)大(以及第二強(qiáng)大)的文本編輯器,對(duì)于許多程序員來(lái)說(shuō)是萬(wàn)能IDE的不二(三?)選擇。 比起同類的通用文本編輯器如UltraEdit,Emacs和Vim由于擴(kuò)展功能的強(qiáng)大,可以針對(duì)性地搭建出更為完整便利的IDE。

Emacs -- Emacs及python-mode的簡(jiǎn)介

Emacs23 -- Emacs最新版本,完全支持unicode,目前為開發(fā)中分支

Vim -- Vim 通用編輯環(huán)境使用技巧推介

PyIDEguider、VimPython、VimPythonTDD -- 社區(qū)內(nèi)幾篇介紹在Vim環(huán)境下進(jìn)行Python開發(fā)的文章

雖然二者掌握之后可以說(shuō)是終身受益,但學(xué)習(xí)曲線都比較陡峭。 由于歷史原因,它們的設(shè)計(jì)理念都是基于純ascii字符環(huán)境,GUI相對(duì)來(lái)說(shuō)不是支持的重點(diǎn),大量使用快捷鍵才能帶來(lái)最大的便利。 對(duì)于初學(xué)者來(lái)說(shuō),相對(duì)而言Vim更簡(jiǎn)潔一些,但Emacs的GUI與一般編輯器的習(xí)慣更接近些。

Eclipse + PyDev

Eclipse是新一代的優(yōu)秀泛用型IDE,雖然是基于Java技術(shù)開發(fā)的,但出色的架構(gòu)使其具有不遜于Emacs和Vim的可擴(kuò)展性,現(xiàn)在已經(jīng)成為了許多程序員最愛的瑞士軍刀。

Eclipse -- Eclipse集成開發(fā)環(huán)境使用說(shuō)明,簡(jiǎn)略介紹了Eclipse插件開發(fā)的基礎(chǔ)知識(shí)

PyDev是Eclipse上的Python開發(fā)插件中最成熟完善的一個(gè),而且還在持續(xù)的活躍開發(fā)中。除了Eclipse平臺(tái)提供的基本功能之外,PyDev的代碼完成、語(yǔ)法查錯(cuò)、調(diào)試器、重構(gòu)等功能都相當(dāng)出色,可以說(shuō)在開源產(chǎn)品中是最為強(qiáng)大的一個(gè),許多貼心的小功能也很符合編輯習(xí)慣,用起來(lái)相當(dāng)順手。

速度和資源占用是致命傷,在低配置機(jī)器上跑起來(lái)比較吃力。

PyDev -- PyDev開發(fā)環(huán)境簡(jiǎn)介

Eclipse的主頁(yè):http://www.eclipse.org/

PyDev的主頁(yè):http://pydev.sourceforge.net/

PyDev使用手冊(cè):http://www.fabioz.com/pydev/manual_101_root.html(Eng) 此入門手冊(cè)從安裝到開發(fā)過(guò)程中的使用,并且是圖文顯示,推薦大家使用.

技術(shù)開發(fā)參考: 用 Eclipse,PyDev 和 Ant 進(jìn)行 Python 開發(fā),http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html

UliPad

UliPad是國(guó)內(nèi)知名pythoner,也是PythonCN社區(qū)核心成員limodou開發(fā)的IDE。

SPE (Stani's Python Editor)

很有特色的一個(gè)輕量級(jí)pythonIDE,功能很全面而不失小巧輕便,特別適合寫小的腳本。

即時(shí)生成代碼的UML類圖是獨(dú)此一家的功能,此外還特別注重與外部工具的集成。例如,集成了wxGlade作為所見即所得的GUI開發(fā)環(huán)境,集成了Winpdb作為調(diào)試器,甚至還能與3D建模工具Blender集成。

SPE沒有管理Project的概念,這樣開發(fā)多文件多目錄組成的項(xiàng)目時(shí)會(huì)不太方便。此外界面設(shè)計(jì)相對(duì)來(lái)說(shuō)不夠細(xì)致,也算是瑕疵。

SPE的主頁(yè):http://stani.be/python/spe/

Boa Constructor

專為快速開發(fā)基于wxPython的GUI程序而設(shè)計(jì)的IDE,支持“所見即所得”的控件拖放式開發(fā),被稱為Python世界中的Delphi。

曾被sourceforge推選為"Project of the Month",不過(guò)最近開發(fā)速度趨于緩慢。

Boa Constructor的主頁(yè):http://boa-constructor.sourceforge.net/

Eric3

Eric3的主頁(yè):http://www.die-offenbachs.de/detlev/eric3.html

WingIDE

Wingware公司開發(fā)的商業(yè)產(chǎn)品,總體來(lái)說(shuō)是目前最為強(qiáng)大專業(yè)的Python IDE,開源項(xiàng)目可以申請(qǐng)到免費(fèi)的license。

最大的缺點(diǎn)和PyDev一樣,速度較慢,資源占用多。

Wingware的主頁(yè):http://wingware.com/

Komodo

另一個(gè)優(yōu)秀的商業(yè)產(chǎn)品,由ActiveState公司開發(fā),是一個(gè)泛用的腳本語(yǔ)言IDE,除了Python外還支持javascript、perl、php、ruby、tcl等多種語(yǔ)言。

Komodo的主頁(yè):http://www.activestate.com/Products/Komodo/

Textmate

Textmate是Mac OSX平臺(tái)的Cocoa原生程序,類似UltraEdit。以靈活的Bundles和Code Snippets著稱,支持大多數(shù)的腳本語(yǔ)言。Rails的全體開發(fā)團(tuán)隊(duì)都用這個(gè)Editor。類似Emacs/vi,需要配合ctags分析python代碼結(jié)構(gòu),可以很容易的做unittest等功能。需要特別指出的是它對(duì)于Django的model和template、以及Zope都有專門的支持。

Textmate的主頁(yè):http://macromates.com/

Scribes

“書記員”──窮人的TextMate?

Intype

Windows下的Textmate

PyScripter

Delphi開發(fā)的Python IDE,只有windows版本。

PyScripter的主頁(yè):http://mmm-experts.com/Products.aspx?ProductId=4

IDE之外的工具

交互式命令行(interactive console)

IPython

IPython的主頁(yè):http://ipython.scipy.org/

調(diào)試工具(Debugger)

Winpdb

Winpdb的主頁(yè):http://www.digitalpeers.com/pythondebugger/

其它支持 Python 的編輯器

Leo

基于全新的Literate Programming(文學(xué)化編程)理念的開發(fā)工具,詳細(xì)的介紹參見:LeoEnvironment

Leo的主頁(yè):http://webpages.charter.net/edreamleo/front.html

Bluefish

Bluefish 通常被認(rèn)為是一個(gè)類似 Homesite 的網(wǎng)頁(yè)編輯器,但事實(shí)上它不僅如此。它應(yīng)該是一個(gè)通用的文本編輯器,支持 C、PHP、Python、Ruby、Perl、Java、Shell、Tcl 等許多種編程語(yǔ)言,支持語(yǔ)法高亮、自動(dòng)換行、自動(dòng)關(guān)閉 HTML 標(biāo)簽等,可同時(shí)編輯多個(gè)文檔。

Bluefish 當(dāng)然不能算是一款 Python 的 IDE 工具,但如果做 Web 相關(guān)的開發(fā)( DjanGo、TurboGears 等),用它來(lái)寫程序顯然很方便。而且 Bluefish 相當(dāng)友好,基本上不用學(xué)就會(huì)用,可以使我等菜鳥盡快將精力轉(zhuǎn)移到 Python 的學(xué)習(xí)上來(lái)。

Bluefish 官方站在http://bluefish.openoffice.nl/index.html目前可以運(yùn)行在大多數(shù)類 UNIX 操作系統(tǒng)上。

Discuss

綜合比較

初學(xué)者首選IDLE / PythonWin / MacPython

Emacs / Vim / Eclipse+PyDev是強(qiáng)大且通用的解決方案,取決于你更熟悉哪個(gè)環(huán)境,如果都沒有基礎(chǔ),更推薦Eclipse+PyDev。

SPE是純Python實(shí)現(xiàn)的簡(jiǎn)潔型IDE中功能最完善的,寫小腳本的時(shí)候很方便。

Boa長(zhǎng)處在基于wxPython的快速GUI開發(fā)。

如果有條件選擇商業(yè)工具,WingIDE或者Komodo都是優(yōu)秀的產(chǎn)品。

其它比較Python IDE的文章:

http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-14/index.html

"Charming Python"專欄作者David Mertz的測(cè)評(píng)文章,寫于2001年,許多內(nèi)容已經(jīng)過(guò)于陳舊了,但仍有參考價(jià)值。

http://spyced.blogspot.com/2005/09/review-of-6-python-ides.html--review-of-6-python-ides.html

http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html--pycon-python-ide-review.html

較新的兩篇Python IDE測(cè)評(píng)文章(原地址需代理才能訪問,后一個(gè)附件鏈接是本地的備份),分別比較了PyDev、Eric3、Boa Constructor、BlackAdder、Komodo、WingIDE、SPE。

來(lái)源:http://wiki.woodpecker.org.cn/moin/PyIDE

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評(píng)論 6 534
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,615評(píng)論 3 419
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評(píng)論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,826評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,227評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評(píng)論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,447評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,992評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,807評(píng)論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,001評(píng)論 1 370
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評(píng)論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,243評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評(píng)論 1 287
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,709評(píng)論 3 393
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,996評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容