概述
“工欲善其事,必先利其器”,如果說程式設計是程式設計師的手藝,那麼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
“书记员”──穷人的TextMate?
Intype
Windows下的Textmate
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
以上就是Python程序员常用的IDE和其它开发工具的详细内容,更多请关注php中文网其它相关文章!
以上是python用什麼開發工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!