天天看點

Python IDE的選擇 —— 以智能代碼功能為标準

https://www.cnblogs.com/yanxy/archive/2010/02/19/1669502.html

大年初二開始學Python,首先得選一個開發環境。由于以前一直用Visual Studio,選IDE的時候首先得看是不是有智能代碼(Call-Tips和 Auto-Complete)功能,如果沒有的話,對于我這樣的新手實在太痛苦了,我可不想去記那些庫、包和函數名,最好一點 . 就能全出來。

看了《python IDE 介紹》這篇文章,把裡邊提到的IDE都下載下傳了試用,最後選擇了PythonWin Editor,原因是它的Call-Tips功能比較出衆,隻要import一個包,然後F5,它的所有函數、變量都可以Call-Tips出來,非常友善。不過PythonWin也有很大的問題,就是不能用來編寫wxPython和PyQt的程式,一運作就崩潰。google一下,原因是它的MainLoop與wxPython和PyQt的互相沖突,是以用PythonWin編寫GUI,隻能用它自己提供的win32ui,有點像MFC的一個東西。

SPE和BOA看介紹說還不錯,不過安裝後在我機器上總出錯,懶得配置它們。

原作者極力推薦的Eric4,試用了一下,發現Call-Tips功能還是比較弱的,必須得先把導入的包用它的工具API Generator生成API,而且隻能對包裡的類和函數Call-Tips,執行個體化對象後就不行了。例如import wx,wx.後可以出來變量,但b= wx.Button(……後,b.就什麼都沒有了。上Eric4的讨論區搜尋,開發者也承認這是一個問題,是以還是放棄了Eric4。

eclipse+pydev要帶一個JAVA運作時才能跑,在我機器上慢的很,我跑Python的機器記憶體隻有256M,隻能用窮人的工具了。

UliPad,一個國産的IDE,本來想支援它,後來發現它的Call-Tips和Auto-Complete功能實在有限,似乎隻能對Python内置的包起作用,導入的外部包都不行,是以隻好放棄它了。如果以後UliPad增強了這方面的功能,我還是會優先選擇它。

WingIDE 的Call-Tips和Auto-Complete功能很強大,比PythonWin還好,不僅能購提示代碼,還能在右側的工具窗裡顯示doc,不過是商業版的,而且在我的老機上啟動也比較慢。WingIDE的101版本是Free的,但恰好比專業版少了Call-Tips和 Auto-Complete功能。

Kodomo也是一個商業版軟體,Auto-Complete功能沒有WingIDE好,免費版的Kodomo Edit不能調試,也沒有Auto-Complete,和WingIDE 101類似。

vim和emacs以前學linux時用過(遙想2002年上大四時,偶還考過TurboLinux的認證管理者,現在證書已經發黃,一直還是在用windows),一直沒搞明白指令模式和編輯模式,看來我受MS毒害太深了,暫時不敢用,等以後沒辦法的時候再說吧。

另外,找了一個不太常見的IDE叫Spyder,它需要導入API才支援Call- Tips功能,和Eric4類似,而且API是和Eric4相容的,用Eric提供的API Generator可以生成Spyder的API。但Spyder比Eric要輕量的多,安裝檔案隻有1.67 M,調試等功能也不錯。Spyder是python(x,y)的一部分,完整的python(x,y)有400多M,內建了科學計算常用的python第三方庫,不過它的體積是在是太龐大了,而且我需要的numpy、matplotlib和networks庫都單獨安裝了,其他的庫暫時還用不到,是以沒有下載下傳。

此外,還下載下傳了Leo、PyScripter等一堆不太出名的Python IDE,不過Call-Tips都不是太理想,水準尚在UliPad之下。

挑來挑去,最後還是選了PythonWin + Spyder。如果要開發GUI,就在PythonWin裡編輯代碼(為了用它的Call-Tips功能),在Spyder調試運作(PythonWin直接運作會崩潰),這兩個軟體都可以自動監測源檔案變化,用他們打開同一個源代碼檔案來回切換就可以了,沒發現什麼沖突。如果不做帶GUI的東西,就直接在PythonWin裡編輯、運作就可以。

似乎很笨是吧?但我還沒找到好的解決方案。除了商業版的WingIDE,真沒有一個免費的Python IDE可以提供好的Call-Tips功能嗎?

Python IDE的選擇 —— 以智能代碼功能為标準