首頁»Python»Python程序員常用的IDE和其它開發工具

Python程序員常用的IDE和其它開發工具

來源:Web開發者 發布時間:2012-02-12 閱讀次數:

概述

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

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

IDE并非功能越多越好,因為更多的功能往往意味著更大的復雜度,這不但會分散程序員本來的精力,而且還可能帶來更多的錯誤。只要基本功能滿足需要,符合自己使用習慣的IDE才是最好的IDE。程序員的邏輯永遠是:用最合適的工具做最合適的事情。

正因為此,比起大而全的IDE,以單純的文本編輯器結合獨立的調試器、交互式命令行等外部小工具也是另一種開發方式。由于python本身的簡潔,因此在寫小的代碼片段以及通過示例代碼學習時這種方式尤其適合。

常用IDE簡介

這里簡單介紹Python程序員中最流行的若干IDE。

內置IDE

Python的各個常見發行版都有內置的IDE,雖然它們的功能一般不夠強大完整,但簡便易得就是最大的優勢。 對于初學者來說,它們也是上手的最好選擇,可以讓你更專注于語言本身而不會被繁復的IDE分散精力。

IDLE

IDLE是Python標準發行版內置的一個簡單小巧的IDE,包括了交互式命令行、編輯器、調試器等基本組件,足以應付大多數簡單應用。 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(半官方性質的python for win32增強包)的一部分,也包含在ActivePython的windows發行版中。如其名字所言,只針對win32平臺。

總體來說,PythonWin是一個增強版的IDLE,尤其是易用性方面(就像windows本身的風格一樣)。除了易用性和穩定性之外,(簡單的)代碼完成和更強的調試器都是相對于IDLE的明顯優勢。

Python Win32 Extensions的下載頁:http://sourceforge.net/projects/pywin32/

ActivePython的主頁:http://www.activestate.com/Products/ActivePython/

MacPython IDE

MacPythonIDE是Python的Mac OS發行版內置的IDE,可以看作是PythonWin的Mac對應版本,由Guido的哥哥Just van Rossum編寫。

Emacs和Vim

Emacs和Vim號稱是這個星球上最強大(以及第二強大)的文本編輯器,對于許多程序員來說是萬能IDE的不二(三?)選擇。 比起同類的通用文本編輯器如UltraEdit,Emacs和Vim由于擴展功能的強大,可以針對性地搭建出更為完整便利的IDE。

  • Emacs -- Emacs及python-mode的簡介

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

  • Vim -- Vim 通用編輯環境使用技巧推介

  • PyIDEguider、VimPython、VimPythonTDD -- 社區內幾篇介紹在Vim環境下進行Python開發的文章

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

Eclipse + PyDev

Eclipse是新一代的優秀泛用型IDE,雖然是基于Java技術開發的,但出色的架構使其具有不遜于Emacs和Vim的可擴展性,現在已經成為了許多程序員最愛的瑞士軍刀。

  • Eclipse -- Eclipse集成開發環境使用說明,簡略介紹了Eclipse插件開發的基礎知識

PyDev是Eclipse上的Python開發插件中最成熟完善的一個,而且還在持續的活躍開發中。除了Eclipse平臺提供的基本功能之外,PyDev的代碼完成、語法查錯、調試器、重構等功能都相當出色,可以說在開源產品中是最為強大的一個,許多貼心的小功能也很符合編輯習慣,用起來相當順手。

速度和資源占用是致命傷,在低配置機器上跑起來比較吃力。

  • PyDev -- PyDev開發環境簡介

Eclipse的主頁:http://www.eclipse.org/

PyDev的主頁:http://pydev.sourceforge.net/

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

技術開發參考: 用 Eclipse,PyDev 和 Ant 進行 Python 開發,http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html

UliPad

UliPad是國內知名pythoner,也是PythonCN社區核心成員limodou開發的IDE。

SPE (Stani's Python Editor)

很有特色的一個輕量級python IDE,功能很全面而不失小巧輕便,特別適合寫小的腳本。

即時生成代碼的UML類圖是獨此一家的功能,此外還特別注重與外部工具的集成。例如,集成了wxGlade作為所見即所得的GUI開發環境,集成了Winpdb作為調試器,甚至還能與3D建模工具Blender集成。

SPE沒有管理Project的概念,這樣開發多文件多目錄組成的項目時會不太方便。此外界面設計相對來說不夠細致,也算是瑕疵。

SPE的主頁:http://stani.be/python/spe/

Boa Constructor

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

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

Boa Constructor的主頁:http://boa-constructor.sourceforge.net/

Eric3

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

WingIDE

Wingware公司開發的商業產品,總體來說是目前最為強大專業的Python IDE,開源項目可以申請到免費的license。

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

Wingware的主頁:http://wingware.com/

Komodo

  • 另一個優秀的商業產品,由ActiveState公司開發,是一個泛用的腳本語言IDE,除了Python外還支持javascript、perl、php、ruby、tcl等多種語言。

    Komodo的主頁:http://www.activestate.com/Products/Komodo/

Textmate

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

Textmate的主頁:http://macromates.com/

Scribes

Intype

PyScripter

Delphi開發的Python IDE,只有windows版本。

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

IDE之外的工具

交互式命令行(interactive console)

IPython

IPython的主頁:http://ipython.scipy.org/

調試工具(Debugger)

Winpdb

Winpdb的主頁:http://www.digitalpeers.com/pythondebugger/

其它支持 Python 的編輯器

Leo

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

Leo的主頁:http://webpages.charter.net/edreamleo/front.html

Bluefish

Bluefish 通常被認為是一個類似 Homesite 的網頁編輯器,但事實上它不僅如此。它應該是一個通用的文本編輯器,支持 C、PHP、Python、Ruby、Perl、Java、Shell、Tcl 等許多種編程語言,支持語法高亮、自動換行、自動關閉 HTML 標簽等,可同時編輯多個文檔。

Bluefish 當然不能算是一款 Python 的 IDE 工具,但如果做 Web 相關的開發( DjanGo、TurboGears 等),用它來寫程序顯然很方便。而且 Bluefish 相當友好,基本上不用學就會用,可以使我等菜鳥盡快將精力轉移到 Python 的學習上來。

Bluefish 官方站在 http://bluefish.openoffice.nl/index.html 目前可以運行在大多數類 UNIX 操作系統上。

Discuss

綜合比較

  • 初學者首選IDLE / PythonWin / MacPython

  • Emacs / Vim / Eclipse+PyDev是強大且通用的解決方案,取決于你更熟悉哪個環境,如果都沒有基礎,更推薦Eclipse+PyDev。

  • SPE是純Python實現的簡潔型IDE中功能最完善的,寫小腳本的時候很方便。
  • Boa長處在基于wxPython的快速GUI開發。

  • 如果有條件選擇商業工具,WingIDE或者Komodo都是優秀的產品。

其它比較Python IDE的文章:

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

"Charming Python"專欄作者David Mertz的測評文章,寫于2001年,許多內容已經過于陳舊了,但仍有參考價值。

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測評文章(原地址需代理才能訪問,后一個附件鏈接是本地的備份),分別比較了PyDev、Eric3、Boa Constructor、BlackAdder、Komodo、WingIDE、SPE。

來源:http://wiki.woodpecker.org.cn/moin/PyIDE

QQ群:WEB開發者官方群(515171538),驗證消息:10000
微信群:加小編微信 849023636 邀請您加入,驗證消息:10000
提示:更多精彩內容關注微信公眾號:全棧開發者中心(fsder-com)
網友評論(共0條評論) 正在載入評論......
理智評論文明上網,拒絕惡意謾罵 發表評論 / 共0條評論
登錄會員中心
湖北快3今天的开奖结果