1.Pydev+Eclipse–最好的免費pythonIDE
Pydev的是PythonIDE中使用最普遍的,原因很簡單,它是免費的,同時還提供很多強大的功能來支持高效的Python編程。Pydev是一個運行在eclipse上的開源插件,它把python帶進了eclipse的王國,如果你本來就是是一個eclipse的用戶那麼Pydev將給你家裡一樣的感覺。如果還不是,可能「日食」聽起來有點嚇人,但是值得你一試。
Pydev能高居榜首,得益於這些關鍵功能,包括Django集成,自動代碼補全,多語言支持,集成的Python調試,代碼分析,代碼模板,智能縮進,括弧匹配,錯誤標記,源代碼控制集成,代碼折疊,UML編輯和查看,和單元測試整合
Pydev是由AleksTtotic在2004年創建的,現在由FabioZadrozny進行維護。Pydev在社區用戶的幫助,以及Liclipse,Squish,TraceTronic等公司/社團的贊助下持續進行更新。
雖然Pydev是最好的開源pythonIDE,但是它也和另一個名為Liclipse的產品一起打包,Liclipse是一個商業產品,同樣也構建在eclipse上,提供了易用性改進和額外的主題選項。
除了python,Pydev也支持JythonandIronPython。
你可以在這里下周Pydev——pydev.org/download.html。
想了解更多,請到Pydev官網——pydev.org。
2.PyCharm–最好的商業pythonIDE
PyCharm是來自JetBrains公司的全功能python開發環境。過去的15年裡JetBrains一直致力於發展頂級的開發工具,旨在讓開發工作變得輕松和愉快。
PyCharm是專業的python集成開發環境,有兩個版本。一個是免費的社區版本,另一個是面向企業開發者的更先進的專業版本。PyCharm的普及可以從這一事實來衡量,即有很多大品牌公司用戶,像Twitter,Groupon,Spotify,eBay和Telefonica等都在用PyCharm。
大部分的功能在免費版本中都是可用的,包括智能代碼補全、直觀的項目導航、錯誤檢查和修復、遵循PEP8規范的代碼質量檢查、智能重構,圖形化的調試器和運行器。它還能與IPythonnotebook進行集成,並支持Anaconda及其他的科學計算包,比如matplotlib和NumPy。
PyCharm專業版本支持更多高級的功能,比如遠程開發功能、資料庫支持以及對web開發框架的支持等等。
我最喜歡PyCharm的原因是因為它支持很多的第三方web開發框架,比如Django、Pyramid、web2py、googleappengine和Flask,這些也使得它成為了一個完整的快速應用集成開發環境。
3.VIM
VIM是一個很先進的文本編輯器,在python開發者社區中很受歡迎。它是一個開源軟體並遵循GPL協議,所以你可以免費的使用它。
雖然VIM是最好的文本編輯器,但是它提供的功能不亞於此,經過正確的配置後它可以成為一個全功能的Python開發環境。此外VIM還是一個輕量級的、模塊化、快速響應的工具,非常適合那些很牛的程序員——編程從不用滑鼠的人。
初始化配置需要花一定時間,因為你需要安裝些VIM的插件,並配置讓他們正常工作,最後你會發現這一切都是值得努力的。如果你在尋找一個linux系統下的pythonIDE,那麼VIM將是你的不二選擇。
4.WingIDE
WingIDE是另外一個商業的、面向專業開發人員的python集成開發環境,由wingware公司開發。15年來WingIDE一直都是一個非常成熟的產品,提供了最新的Python編程所需要的各種工具和特性。
WingIDE可以運行在windows、OSX和Linux系統上,支持最新版本的python,包括stacklessPython(python的增強版)。WingIDE分三個版本:免費的基礎版,個人版,以及更強大的專業版。
調試功能是WingIDE的一大亮點,包括多線程調試,線程代碼調試,自動子進程調試,斷點,單步代碼調試,代碼數據檢查等功能,此外還提供了在樹莓派上進行遠程調試的功能。
在代碼管理方面,WingIDE能非常靈活的與Git、subversion、perforce、cvs、Bazaar、Mercurial等工具集成。
此外,WingIDE也支持其他更多的python框架,比如Maya、MotionBbuilder、Zope、PyQt、PySide、pyGTK、PySide、Django、matplotlib等等。
5.SpyderPython
SpyderPython是一個開源的python集成開發環境,非常適合用來進行科學計算方面的python開發。是一個輕量級的軟體,是用python開發的,遵循MIT協議,可免費使用。
Spyderpython的基本功能包括多語言編輯器、互動式控制台、文件查看、variableexplorer、文件查找、文件管理等。SpyderIDE也可以運行於windows、Mac或者Linux系統之上。
雖然Spyder是一個獨立的集成開發環境,能運行在windows、MacOS、MacOSX、Linux等系統之上。但是它也可以作為PyQT的擴展庫,可以嵌入到PyQT的應用中去。
6.KomodoIDE
Komodo是Activestate公司開發的一個跨平台的集成開發環境,支持多種語言包括python。它是商用產品,但是提供了開源的免費版本叫KomodoEdit,能夠安裝在Mac、Windows和Linux系統上。
全功能的Komodo對教育機構用戶是免費的,老師和教授可以將其應用於實驗室及教學中。學生也可以通過較低的費用得到Komodo的授權許可。
和大多數的專業pythonIDE一樣,Komodo也提供了代碼重構,自動補全,調用提示,括弧匹配,代碼瀏覽器,代碼跳轉,圖形化調試,多進程調試,多線程調試,斷點,代碼分析,集成測試單元等功能,並且集成其他的第三方庫,比如pyWin32。
最新版本的Komodo提供了更多的功能與PyCharm、Pydev和WingIDE等其他pythonIDE形成了強烈的競爭關系,比如集成包管理器,變化跟蹤,markdown瀏覽器,shellscope,快速書簽等。
7.PTVS-BestPythonIDEforWindows
PTVS(PythonToolsforVisualStudio)集成在VisualStudio中,就像Pydev可以集成在eclipse中一樣。PTVS將VisualStudio變成了一個強大的、功能豐富的python集成開發環境,並且它是開源的,完全的免費。PTVS發布於2015年,由社區和微軟自己在維護。
PTVS支持幾乎所有免費版本的VisualStudio,包括如下版本的VS2015和VS20013:
·CommunityEdition
·ExpressforWeb
·ExpressforDesktop
如果你是一個visualstudio用戶,毫無疑問PTVS對於你來說是最好的python集成開發環境。
8.EricPython
Eric是一個開源python代碼編輯器和集成開發環境,提供了很多高效編程需要的功能。它是純python編寫的,基於QtGUI並集成了強大的Scintilla編輯器功能。
Eric由DetlevOffenbach創建,遵循GPL協議,免費使用。經過多年的開發完善Eric已經成為一個常用的、功能豐富的集成開發環境。它提供了一個可靠的插件管理系統,可以通過插件來擴展功能。
Eric提供了所有的基礎功能,比如調用提示、代碼折疊、代碼高亮、類瀏覽器、代碼覆蓋及分析等等。但是Eric的關鍵功能讓它有了與其他商業pythonIDE競爭的能力:
·集成的任務管理
·單元測試支持–已集成
·重構
·正則表達式和Qt對話框核心插件
·可選擇的從編輯器中啟動第三方應用程序
·應用程序圖
·項目管理
·互動式的Pythonshell
·多語言用戶界面,包括英語,德語,俄語,法語,捷克語,西班牙語,義大利語,土耳其語和中文。
·以插件的方式集成版本控制工具Subversion,Mercurial和Git
·其他功能。
9.SublimeText3/AnacondaPythonIDE
SublimeText3是目前為止功能最強大的跨平台的、輕量級的代碼編輯器。通過添加插件SublimeText3可以成一個全功能的pythonIDE。
Anaconda帶給你最強大的功能是代碼自動補全和代碼檢查。當然Anaconda也很注重基礎功能如:各種各樣的主題,快速響應的用戶界面,配置簡單,各種強大的功能擴展包。
10.Emacs-PythonEditorcumIDE
Emacs有屬於它自己的生態系統,它是一個可擴展的並能高度定製的GNU文本編輯器。它可以配置為一個全功能的免費的python集成開發環境。
Emacs在python開發中很受歡迎,他通過python-mode提供了開箱即用的python。Emacs可以通過額外的擴展包來增加更多的高級功能。
⑵ 幾種開發者常見的開源軟體協議的分析與介紹
本文主要是針對幾種開發者常見的開源軟體協議的分析與介紹。
Mozilla Public License
MPLLicense,允許免費重發布、免費修改,但要求修改後的代碼版權歸軟體的發起者。這種授權維護了商業軟體的利益,,它要求基於這種軟體得修改無償貢獻版權給該軟體。這樣,圍繞該軟體得所有代碼得版權都集中在發起開發人得手中。但MPL是允許修改,無償使用得。MPL軟體對鏈接沒有要求。
BSD開源協議
BSD開源協議是一個給於使用者很大自由的協議。可以自由的使用,修改源代碼,也可以將修改後的代碼作為開源或者專有軟體再發布。 當你發布使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:
1. 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
2. 如果再發布的只是二進制類庫/軟體,則需要在類庫/軟體的文檔和版權聲明中包含原來代碼中的BSD協議。
3. 不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟體發布和銷售,因此是對商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。
Apache Licence 2.0
Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟體)。需要滿足的條件:
1. 需要給代碼的用戶一份Apache Licence
2. 如果你修改了代碼,需要再被修改的文件中說明。
3. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
4. 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發布/銷售。
GPL
GPL許可證是自由軟體的應用最廣泛的軟體許可證,人們可以修改程式的一個或幾個副本或程式的任何部分,以此形成基於這些程式的衍生作品。必須在修改過的檔案中附有明顯的說明:您修改了此一檔案及任何修改的日期。您必須讓您發布或出版的作品,包括本程式的全部或一部分,或內含本程式的全部或部分所衍生的作品,允許第三方在此許可證條款下使用,並且不得因為此項授權行為而收費。
LGPL
Linux就是採用了GPL。GPL協議和BSD,ApacheLicence等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代碼做為閉源的商業軟體發布和銷售。這也就是為什麼我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商業軟體公司開發的免費軟體了。
GPL協議的主要內容是只要在一個軟體中使用(「使用」指類庫引用,修改後的代碼或者衍生代碼)GPL協議的產品,則該軟體產品必須也採用GPL協議,既必須也是開源和免費。這就是所謂的」傳染性」。GPL協議的產品作為一個單獨的產品使用沒有任何問題,還可以享受免費的優勢。
由於GPL嚴格要求使用了GPL類庫的軟體產品必須使用GPL協議,對於使用GPL協議的開源代碼,商業軟體或者對代碼有保密要求的部門就不適合集成/採用作為類庫和二次開發的基礎。
其它細節如再發布的時候需要伴隨GPL協議等和BSD/Apache等類似
Public Domain
公共域授權。將軟體授權為公共域,這些軟體包沒有授權協議,任何人都可以隨意使用它。
zlib/libpng
只要不誤傳該軟體的起源並保留原始發布的公告,任何人可以以任何目的使用該軟體,包括商業應用
Artistic許可使作者保持對進一步開發的控制。
MIT
MIT是和BSD一樣寬范的許可協議,作者只想保留版權,而無任何其他了限制。也就是說,你必須在你的發行版里包含原許可協議的聲明,無論你是以二進制發布的還是以源代碼發布的。