對(duì)Python 編輯器概念進(jìn)行全解析
對(duì)***次接觸到Python 編輯器的用戶和學(xué)者來(lái)說(shuō),了解Python 編輯器的概念是非常重要的,那么就先說(shuō)一下什么是Python 編輯器,所謂Python 編輯器:是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。
一個(gè)有趣的決定使 Komodo 基于 Mozilla 框架構(gòu)建。初看起來(lái),Web 瀏覽器并不需要那么多對(duì) IDE 有用的代碼,但 ActiveState 充分利用了這一點(diǎn)(Mozilla 試圖成為一個(gè)“平臺(tái)”而不僅僅是一個(gè)瀏覽器,事實(shí)也的確如此)。
Komodo 一年的定價(jià)為 295 美元,而免費(fèi) beta 版出現(xiàn)后該定價(jià)相當(dāng)令人失望。而且,ActiveState 似乎違反了 Komodo 代碼所取自的 Mozilla 的公共許可的精神(可能與原文有出入)。
我希望 ActiveState 決定修改許可條例,來(lái)遵守開(kāi)放源代碼的慣例(可對(duì)技術(shù)支持和自動(dòng)更新收費(fèi))。我試用的 Beta 1.3 支持 Python、Perl、TCL、Javascript 和 XML 的開(kāi)發(fā)。并支持其他幾十種語(yǔ)言的語(yǔ)法標(biāo)簽高亮顯示(但沒(méi)有更多語(yǔ)言支持)。Python 支持是目前***的?,F(xiàn)有一個(gè)支持 Win32 和 Linux 的 beta 版,并將陸續(xù)支持其他平臺(tái)。
以我的觀點(diǎn),Komodo 更像是Python 編輯器的超集。據(jù)我所知,它不共享大多數(shù)的相同代碼庫(kù),但使用的感覺(jué)及其相似。由于繼承了 Mozilla 的特性,Komodo 是我所測(cè)評(píng)的軟件中界面***的一個(gè),因?yàn)橥瑯拥脑蛩彩沁\(yùn)行最慢的。
我建議不要在較老的機(jī)器上使用 Komodo;我在 366Mhz Win95r2 系統(tǒng)上測(cè)試,發(fā)現(xiàn)它能運(yùn)行,但是速度不快。雖然調(diào)試器和編輯器的界面與 PythonWin 差不多,但是您可編輯許多其他語(yǔ)言。
以及調(diào)試 Perl 和Python 編輯器;而且您可在 Linux 下運(yùn)行 Komodo。Komodo 的“代碼檢查”功能非常智能和獨(dú)特。它像許多近期字處理軟件的拼寫(xiě)檢查器那樣運(yùn)作。在輸入的時(shí)候,有問(wèn)題的代碼以下劃曲線標(biāo)示;您可繼續(xù)輸入。
而它會(huì)一直標(biāo)示著直到您返回并修正該問(wèn)題,同時(shí)也是個(gè)很好的提示。Komodo 沒(méi)有試圖內(nèi)建任何表單設(shè)計(jì)器或者圖形編程,除此之外,作為 beta 版它是還是不錯(cuò)的。現(xiàn)在讓我們來(lái)分析購(gòu)買(mǎi) Python IDE 的方法吧。
人們通常認(rèn)為商業(yè)產(chǎn)品會(huì)提供額外的功能而值得花錢(qián)購(gòu)買(mǎi)。在某些方面的確如此。WingIDE 的售價(jià)是 100 美元。BlackAdder 的售價(jià)是 80 美元(僅限在個(gè)人系統(tǒng)上使用)和 400 美元(可將 BlackAdder 的運(yùn)行組件一同分發(fā)給其他人)。
可惜的是,我發(fā)現(xiàn)這兩種產(chǎn)品都不足夠穩(wěn)定,無(wú)法推薦給各位用于實(shí)際開(kāi)發(fā)。若是不能用于實(shí)際開(kāi)發(fā)的 IDE,那么常規(guī)功能就并不值那么多。但愿這兩種產(chǎn)品能通過(guò)新版本或修正補(bǔ)丁而有所提高。BlackAdder 是在 linux 和 windows 下的基于 QT 的開(kāi)發(fā)環(huán)境;請(qǐng)參閱屏幕截圖。
在本專(zhuān)欄提到的產(chǎn)品中,該產(chǎn)品是唯一帶有表單設(shè)計(jì)器的一款,而且表單設(shè)計(jì)器自身做得很優(yōu)秀(用于 PyQT 編程)。就象 Delphi、Visual Basic 和類(lèi)似工具,您可以把小工具放置在面板上,在“屬性”表單中調(diào)整屬性與行為。
元素的圖標(biāo)有些呆板,特別是變灰的時(shí)候,但美觀并不是很重要。源代碼編輯器提供代碼合并和語(yǔ)法標(biāo)簽高亮顯示,但沒(méi)有代碼自動(dòng)完成提示。BlackAdder 有個(gè)相當(dāng)不錯(cuò)的調(diào)試器,除了缺少監(jiān)視功能外其它與免費(fèi)工具差不多。
不幸的是,在測(cè)試 V1.0 beta 2 中,我遇到了一些嚴(yán)重的使用問(wèn)題。我測(cè)試了 Mandrake、Slackware 以及 Windows 包(但沒(méi)有測(cè)試 Debian 和 Redhat,雖然我認(rèn)為 Linux 的變體只是軟件包不同)。
Idle 是一個(gè)純 Python 下使用 Tkinter 編寫(xiě)的相當(dāng)基本的 IDE。Idle 總的來(lái)說(shuō)是標(biāo)準(zhǔn)的 Python 發(fā)行版,甚至是由 Guido van Rossum 親自編寫(xiě)(至少最初的絕大部分)。您可在能運(yùn)行 Python 和 TK 的任何環(huán)境下運(yùn)行 Idle。
打開(kāi) Idle 后出現(xiàn)一個(gè)增強(qiáng)的交互命令行解釋器窗口(具有比基本的交互命令提示符更好的剪切-粘貼、回行等功能)。除此之外,還有一個(gè)針對(duì) Python 編輯器(無(wú)代碼合并,但有語(yǔ)法標(biāo)簽高亮和代碼自動(dòng)完成功能)、類(lèi)瀏覽器和調(diào)試器。菜單為 TK “剝離”式;也就是點(diǎn)擊頂部任意下拉菜單的虛線將會(huì)將該菜單提升到它自己的***窗口中去。
特別是 "Edit" 菜單,將其“靠”在桌面一角非常實(shí)用。Idle 的調(diào)試器提供斷點(diǎn)、步進(jìn)和變量監(jiān)視功能;但并沒(méi)有其內(nèi)存地址和變量?jī)?nèi)容存數(shù)或進(jìn)行同步和其他分析功能來(lái)得優(yōu)秀。當(dāng)然,我的調(diào)試風(fēng)格包括某些分散的 print 命令,但您的方法可與我不同。
各種問(wèn)題無(wú)處不在(可能一部分原因是由于必須依賴(lài)正確的操作系統(tǒng)版本和修正版)。例如,默認(rèn)字體實(shí)在太小。在 Linux 和 Windows 系統(tǒng)下都無(wú)法閱讀。改變編輯器字體需要單調(diào)地一個(gè)個(gè)地修改 20 種語(yǔ)法標(biāo)記元素的字體(沒(méi)有許多其他編輯器和 IDE 中的URl收藏。
【編輯推薦】