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