告訴您購買Python IDE理由所在
經(jīng)過長時(shí)間學(xué)習(xí)Python IDE,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西,學(xué)習(xí)Python IDE時(shí),你可能會(huì)遇到種種問題,這里將介紹Python IDE問題的解決方法。
WingIDE 的售價(jià)是 100 美元。BlackAdder 的售價(jià)是 80 美元(僅限在個(gè)人系統(tǒng)上使用)和 400 美元(可將 BlackAdder 的運(yùn)行組件一同分發(fā)給其他人)。可惜的是,我發(fā)現(xiàn)這兩種產(chǎn)品都不足夠穩(wěn)定,無法推薦給各位用于實(shí)際開發(fā)。
若是不能用于實(shí)際開發(fā)的 IDE,那么常規(guī)功能就并不值那么多。但愿這兩種產(chǎn)品能通過新版本或修正補(bǔ)丁而有所提高。BlackAdder 是在 linux 和 windows 下的基于 QT 的開發(fā)環(huán)境;請(qǐng)參閱屏幕截圖。在本專欄提到的產(chǎn)品中,該產(chǎn)品是***帶有表單設(shè)計(jì)器的一款。
而且表單設(shè)計(jì)器自身做得很優(yōu)秀(用于 PyQT 編程)。就象 Delphi、Visual Basic 和類似工具,您可以把小工具放置在面板上,在“屬性”表單中調(diào)整屬性與行為。元素的圖標(biāo)有些呆板,特別是變灰的時(shí)候,但美觀并不是很重要。源代碼編輯器提供代碼合并和語法標(biāo)簽高亮顯示,但沒有代碼自動(dòng)完成提示。
BlackAdder 有個(gè)相當(dāng)不錯(cuò)的調(diào)試器,除了缺少監(jiān)視功能外其它與免費(fèi)工具差不多。不幸的是,在測(cè)試 V1.0 beta 2 中,我遇到了一些嚴(yán)重的使用問題。我測(cè)試了 Mandrake、Slackware 以及 Windows 包(但沒有測(cè)試 Debian 和 Redhat,雖然我認(rèn)為 Linux 的變體只是軟件包不同)。各種問題無處不在。
例如,默認(rèn)字體實(shí)在太小,在 Linux 和 Windows 系統(tǒng)下都無法閱讀。改變編輯器字體需要單調(diào)地一個(gè)個(gè)地修改 20 種語法標(biāo)記元素的字體(沒有許多其他編輯器和 IDE 中的“繼承字體”選項(xiàng))。
更糟的是在 Mandrake 7.1 和定制的 Slackware 7.1 中,當(dāng) BlackAdder 啟動(dòng)時(shí),Python 解釋器“意外終止”。您可以編輯文件,但無法在 IDE 下運(yùn)行。我改變Python IDE的嘗試 -- 指向 Python 2.0 或 Python 1.5.2 -- 成功地改變了出錯(cuò)信息,但并未解決問題。
而且,在 Windows 下有些 Python 腳本在 BlackAdder 中無法打開;而獲得的提示是 “X 不是一個(gè)合法的 BlackAdder 文件”。該信息沒有明顯的規(guī)律。您有可能通過某些努力解決該問題 -- 但如果花費(fèi)了 400 美元購買該產(chǎn)品,您一定不會(huì)有好心情來為購買的產(chǎn)品做調(diào)試了。
WingIDE 是個(gè)想當(dāng)優(yōu)秀的 IDE;請(qǐng)參閱屏幕截圖。其編輯器包括大量語言的語法標(biāo)簽高亮顯示,雖然它只是個(gè)面向 Python 的工具。源代碼瀏覽器對(duì)瀏覽項(xiàng)目或模塊非常實(shí)用(表現(xiàn)在可導(dǎo)航源代碼和文檔行摘要中)。雖然沒有監(jiān)視器,但調(diào)試器設(shè)計(jì)得很好。
編輯器有優(yōu)秀的命令自動(dòng)完成和函數(shù)跳轉(zhuǎn)列表,但是沒有代碼合并。面向項(xiàng)目風(fēng)格的 IDE 對(duì)于大型產(chǎn)品非常有用(在這方面,除了 Komodo 以外,它是大多免費(fèi) IDE 中較好的)。
總體的界面就像增強(qiáng)的 Idle,使用了與許多 TK 和 XWindow 界面類似的“多窗口”排列方式。我喜歡使用對(duì)接和嵌入(這方面,并不是過多使用 MS Visual Studio 造成的),但不同的開發(fā)人員可能喜歡不同風(fēng)格的窗體。WingIDE 是個(gè)很有前途的開發(fā)環(huán)境。BlackAdder 甚至 WingIDE -- 我測(cè)試的 1.0 和 1.1b3 版 -- 都因存在問題而無法推薦用作重大的開發(fā)。
有許多討厭的小地方,比如許可密鑰設(shè)置過程和古怪的 -- 很可能是遺漏了 -- 工具條提示。而且,還有許多小的錯(cuò)誤。比如缺少“打開最近文件”菜單項(xiàng),因此,當(dāng)程序運(yùn)行時(shí)(不只是試驗(yàn)代碼)您只能打開交互命令行解釋器窗口。
但這些問題都是小問題。致命問題是 WingIDE 會(huì)在我的 Mandrake 7.1 中隨機(jī)產(chǎn)生分割錯(cuò)誤。一旦發(fā)生該情況一切就都完了,您將丟失正在進(jìn)行的任何工作?!敖?jīng)常保存”是個(gè)好建議,但這并不足以使 WingIDE 完全可用。
通常認(rèn)為,Python IDE是一種解釋性的語言,但是這種說法是不正確的,實(shí)際上,Python在執(zhí)行時(shí),首先會(huì)將.py文件中的源代碼編譯成Python的byte code(字節(jié)碼),然后再由Python Virtual Machine來執(zhí)行這些編譯好的byte code。
這種機(jī)制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級(jí)的Virtual Machine。這里的高級(jí)并不是通常意義上的高級(jí)。#t#
不是說Python的Virtual Machine比Java或.NET的功能更強(qiáng)大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實(shí)機(jī)器的距離更遠(yuǎn)?;蛘呖梢赃@么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。
基于C的Python編譯出的字節(jié)碼文件,通常是.pyc格式。在實(shí)際開發(fā)中,python常被昵稱為膠水語言,這不是說他會(huì)把你的手指粘住,而是說他能夠很輕松的把用其他語言制作的各種模塊(尤其是C/C++)輕松地聯(lián)結(jié)在一起。
常見的一種應(yīng)用情形是,使用Python IDE快速生成程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,速度要求非常高,就可以用C++重寫。