選擇一個適合自己的Python IDE

Y2J
發布: 2017-05-17 13:59:41
原創
2107 人瀏覽過

概述

“工欲善其事,必先利其器”,如果說程式設計是程式設計師的手藝,那麼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本人。

PythonWin

PythonWin是Python Win32 Extensions(半官方性質的pythonforwin32增強包)的一部分,也包含在ActivePython的windows發行版中。如其名字

所言,只針對win32平台。

整體來說,PythonWin是一個增強版的IDLE,尤其是易用性方面(就像windows本身的風格一樣)。除了易用性和穩定性之外,(簡單的)程式碼完成和更

強的偵錯器都是相對於IDLE的明顯優勢。

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的程式碼完畢

#成、語法查錯、調試器、重構等功能都相當出色,可以說在開源產品中是最強大的一個,許多貼心的小功能也很符合編輯習慣,用起來相當順手。

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

UliPad

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

SPE (Stani's Python Editor)

很有特色的一個輕量級python IDE,功能很全面而不失小巧輕便,特別適合寫小的腳本。即時產生程式碼的UML類別圖是獨此一家的功能,此外還特別

注重與外部工具的整合。例如,整合了wxGlade作為所見即所得的GUI開發環境,整合了Winpdb作為偵錯器,甚至與3D建模工具Blender整合。

SPE沒有管理Project的概念,這樣開發多檔案多目錄組成的專案時會不太方便。另外介面設計相對來說不夠細緻,也算是瑕疵

Boa Constructor

專為快速開發基於wxPython的GUI程式設計的IDE,支援「所見即所得」的控制項拖放式開發,稱為Python世界中的Delphi。

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

WingIDE

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

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

Komodo

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

言。

Textmate

Textmate是Mac OSX平台的Cocoa原生程序,類似UltraEdit。以靈活的Bundles和Code Snippets著稱,支援大多數的腳本語言。 Rails的全體開發團體

隊都用這個Editor。類似Emacs/vi,需要配合ctags分析python程式碼結構,可以很容易的做unittest等功能。需要特別指出的是它對於Djangomodel

template、以及Zope都有專門的支援。

Scribes

「書記官」-窮人的TextMate?

Intype

Windows下的Textmate

PyScripter

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

IDE以外的工具

互動式命令列(interactive console)

#IPython

IPython的主頁:ipython.scipy.org/

調試工具(Debugger)

Winpdb

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

其它支援Python 的編輯器

##Leo

# 基於全新的Literate Programming(文學化程式設計)理念的發展工具,詳細的介紹請見:LeoEnvironment

Leo的首頁: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 官方站在 bluefish.openoffice.nl/index.html 目前可以運行在大多數類 UNIX 作業系統上。

Discuss

綜合比較

swordsp的個人建議:

初學者首選IDLE / PythonWin / MacPython

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

SPE是純Python實現的簡潔IDE中功能最完善的,寫小腳本的時候很方便。

Boa長處在基於wxPython的快速GUI開發。

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

【相關推薦】

1.

特別推薦「php程式設計師工具箱」V0.1版本下載

2.

Python免費影片教學

3.

Eclipse+Pydev的安裝教學

#4.

介紹10 款常用的Python IDE#

以上是選擇一個適合自己的Python IDE的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!