搜尋
首頁後端開發Python教學Python程式設計師常用的IDE和其它開發工具

Python程式設計師常用的IDE和其它開發工具

Apr 05, 2017 pm 02:09 PM
python開發工具用的程式設計師

概述

“工欲善其事,必先利其器”,如果說程式設計是程式設計師的手藝,那麼IDE就是程式設計師的吃飯傢伙了。

IDE的全名為Integration Development Environment(整合開發環境),一般以程式碼編輯器為核心,包括一系列週邊元件和附屬功能。一個優秀的IDE,最重要的就是在普通文字編輯之外,提供針對特定語言的各種快捷編輯功能,讓程式設計師盡可能快速、舒適、清晰的瀏覽、輸入、修改程式碼。對於一個現代的IDE來說,語法著色、錯誤提示、程式碼折疊、程式碼完成、程式碼區塊定位、重構,與偵錯器、版本控制系統(VCS)的整合等等都是重要的功能。以插件、擴充系統為代表的可自訂框架,是現代IDE的另一個流行趨勢。

IDE並非功能越多越好,因為更多的功能往往意味著更大的複雜度,這不僅會分散程式設計師本來的精力,而且還可能帶來更多的錯誤。只要基本功能符合需要,符合自己使用習慣的IDE才是最好的IDE。程式設計師的邏輯永遠是:用最適合的工具做最適合的事。

正因為此,比起大而全的IDE,以單純的文字編輯器結合獨立的調試器、互動式命令列等外部小工具也是另一種開發方式。由於python本身的簡潔,因此在寫小的程式碼片段以及透過範例程式碼學習時這種方式尤其適合。

常用IDE簡介

這裡簡單介紹Python程式設計師中最受歡迎的若干IDE。

內建IDE

Python的各個常見發行版都有內建的IDE,雖然它們的功能通常不夠強大完整,但簡單易得就是最大的優勢。 對於初學者來說,它們也是上手的最佳選擇,可以讓你更專注於語言本身而不會被繁複的IDE分散精力。

IDLE

IDLE是Python標準發行版內建的一個簡單小巧的IDE,包括了互動式命令列、編輯器、偵錯器等基本元件,足以應付大多數簡單應用。 IDLE是用純Python基於Tkinter編寫的,最初的作者正是Python之父Guido van Rossum本人。

http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index.html -- 《One Day of IDLE Toying》,圖文並茂的入門文章

# http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/IDLE-chinese.htm -- 《One Day of IDLE Toying》中文版

# PythonWin

PythonWin是Python Win32 Extensions(半官方性質的python for win32增強包)的一部分,也包含在ActivePython的windows發行版中。如其名字所言,只針對win32平台。

整體來說,PythonWin是一個增強版的IDLE,尤其是易用性方面(就像windows本身的風格一樣)。除了易用性和穩定性之外,(簡單的)程式碼完成和更強的偵錯器都是相對於IDLE的明顯優勢。

Python Win32 Extensions的下載頁面:http://sourceforge.net/projects/pywin32/

ActivePython的首頁:http://www.activestate.com/Products/ActivePython/

# MacPython IDE

MacPythonIDE是Python的Mac OS發行版內建的IDE,可以看作是PythonWin的Mac對應版本,由Guido的哥哥Just van Rossum編寫。

Emacs和Vim

Emacs和Vim號稱是這個星球上最強大(以及第二強大)的文本編輯器,對於許多程式設計師來說是萬能IDE的不二(三?)選擇。 比起同類的通用文字編輯器如UltraEdit,Emacs和Vim由於擴充功能的強大,可以針對性地搭建出更為完整便利的IDE。

  • Emacs -- Emacs及python-mode的簡介


  • Emacs23 -- Emacs最新版本,完全支援unicode,目前為開發中分支


  • Vim -- Vim 通用編輯環境使用技巧推廣


  • PyIDEguider、VimPython、VimPythonTDD -- 社群內幾篇介紹在Vim環境下進行Python開發的文章

雖然二者掌握之後可以說是終身受益,但學習曲線都比較陡峭。 由於歷史原因,它們的設計理念都是基於純ascii字元環境,GUI相對來說不是支援的重點,大量使用快捷鍵才能帶來最大的便利。 對於初學者來說,相對而言Vim更簡潔一些,但Emacs的GUI與一般編輯器的習慣更接近。

Eclipse + PyDev

# Eclipse是新一代的優秀泛用型IDE,雖然是基於Java技術開發的,但出色的架構使其具有不遜於Emacs和Vim的可擴展性,現在已經成為了許多程式設計師最愛的瑞士軍刀。

  • Eclipse -- Eclipse整合開發環境使用說明,簡單介紹了Eclipse外掛程式開發的基礎知識

# PyDev是Eclipse上的Python開發外掛程式中最成熟完善的一個,而且還在持續的活躍開發中。除了Eclipse平台提供的基本功能之外,PyDev的程式碼完成、語法查錯、調試器、重構等功能都相當出色,可以說在開源產品中是最為強大的一個,許多貼心的小功能也很符合編輯習慣,用起來相當順手。

速度和資源佔用是致命傷,在低配置機器上跑起來比較吃力。

  • PyDev -- PyDev開發環境簡介

# Eclipse的主頁:http://www.eclipse.org/

# PyDev的首頁:http://pydev.sourceforge.net/

# PyDev使用手冊:http://www.fabioz.com/pydev/manual_101_root.html (Eng) 此入門手冊從安裝到開發過程中的使用,並且是圖文顯示,推薦大家使用.

技術開發參考: 用 Eclipse,PyDev 和 Ant 進行 Python 開發,http://www-128.ibm.com/developerworks/cn/opensource/os-ecant/index.html

# UliPad

# UliPad是國內知名pythoner,也是PythonCN社群核心成員limodou開發的IDE。

SPE (Stani's Python Editor)

# 很有特色的一個輕量級python IDE,功能很全面而不失小巧輕便,特別適合寫小的腳本。

即時產生程式碼的UML類別圖是獨此一家的功能,此外還特別注重與外部工具的整合。例如,整合了wxGlade作為所見即所得的GUI開發環境,整合了Winpdb作為偵錯器,甚至與3D建模工具Blender整合。

SPE沒有管理Project的概念,這樣開發多檔案多目錄組成的專案時會不太方便。此外介面設計相對來說不夠細緻,也算是瑕疵。

SPE的主頁:http://stani.be/python/spe/

Boa Constructor

專為快速開發基於wxPython的GUI程式而設計的IDE,支援「所見即所得」的控制項拖放式開發,稱為Python世界中的Delphi。

曾被sourceforge推選為"Project of the Month",不過最近開發速度趨於緩慢。

Boa Constructor的主頁:http://boa-constructor.sourceforge.net/

# Eric3

Eric3的首頁:http://www.die-offenbachs.de/detlev/eric3.html

WingIDE

# Wingware公司開發的商業產品,整體來說是目前最為強大專業的Python IDE,開源專案可以申請到免費的license。

最大的缺點和PyDev一樣,速度較慢,資源佔用多。

Wingware的主頁:http://wingware.com/

Komodo

  • # 另一個優秀的商業產品,由ActiveState公司開發,是一個泛用的腳本語言IDE,除了Python外還支援javascript、perl、php、ruby、tcl等多種語言。

    Komodo的首頁:http://www.activestate.com/Products/Komodo/

Textmate

# Textmate是Mac OSX平台的Cocoa原生程序,類似UltraEdit。以靈活的Bundles和Code Snippets著稱,支援大多數的腳本語言。 Rails的全體開發團隊都用這個Editor。類似Emacs/vi,需要配合ctags分析python程式碼結構,可以很容易的做unittest等功能。需要特別指出的是它對於Django的model和template、以及Zope都有專門的支援。

Textmate的主頁:http://macromates.com/

Scribes

  • # 「書記官」-窮人的TextMate?

# Intype

  • Windows下的Textmate

# PyScripter

Delphi開發的Python IDE,只有windows版本。

PyScripter的主頁:http://mmm-experts.com/Products.aspx?ProductId=4

# IDE以外的工具

互動式命令列(interactive console)

# IPython

# IPython的主頁:http://ipython.scipy.org/

# 偵錯工具(Debugger)

Winpdb

# Winpdb的主頁:http://www.digitalpeers.com/pythondebugger/

# 其它支援 Python 的編輯器

Leo

基於全新的Literate Programming(文學化程式設計)理念的開發工具,詳細的介紹請見:LeoEnvironment

Leo的主頁:http://webpages.charter.net/edreamleo/front.html

# Bluefish

Bluefish 通常被認為是一個類似 Homesite 的網頁編輯器,但事實上它不僅如此。它應該是通用的文字編輯器,支援C、PHP、Python、Ruby、Perl、Java、Shell、Tcl 等許多種程式語言,支援語法高亮、自動換行、自動關閉HTML 標籤等,可同時編輯多個文檔。

Bluefish 當然不能算是 Python 的 IDE 工具,但如果做 Web 相關的開發( DjanGo、TurboGears 等),用它來寫程式顯然很方便。而且 Bluefish 相當友好,基本上不用學就會用,可以讓我等菜鳥盡快將精力轉移到 Python 的學習上來。

Bluefish 官方站在 http://bluefish.openoffice.nl/index.html 目前可以運行在大多數類 UNIX 作業系統上。

Discuss

綜合比較

  • # 初學者首選IDLE / PythonWin / MacPython


  • # Emacs / Vim / Eclipse+PyDev是強大且通用的解決方案,取決於你更熟悉哪個環境,如果都沒有基礎,更推薦Eclipse+PyDev。


  • # SPE是純Python實現的簡潔型IDE中功能最完善的,寫小腳本的時候很方便。


  • # Boa長處在基於wxPython的快速GUI開發。


  • # 如果有條件選擇商業工具,WingIDE或Komodo都是優秀的產品。

其它比較Python IDE的文章:

http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-14/index.html

"Charming Python"專欄作者David Mertz的評估文章,寫於2001年,許多內容已經過於陳舊了,但仍有參考價值。

http://spyced.blogspot.com/2005/09/review-of-6-python-ides.html -- review-of-6-python-ides.html

http://spyced.blogspot.com/2006/02/pycon-python-ide-review.html -- pycon-python-ide-review.html

較新的兩篇Python IDE測評文章(原地址需代理才能訪問,後一個附件鏈接是本地的備份),分別比較了PyDev、Eric3、Boa Constructor、BlackAdder、Komodo、WingIDE、SPE。

資料來源:http://wiki.woodpecker.org.cn/moin/PyIDE

########

以上是Python程式設計師常用的IDE和其它開發工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python:遊戲,Guis等Python:遊戲,Guis等Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python vs.C:申請和用例Python vs.C:申請和用例Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時的Python計劃:一種現實的方法2小時的Python計劃:一種現實的方法Apr 11, 2025 am 12:04 AM

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python:探索其主要應用程序Python:探索其主要應用程序Apr 10, 2025 am 09:41 AM

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

您可以在2小時內學到多少python?您可以在2小時內學到多少python?Apr 09, 2025 pm 04:33 PM

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?Apr 02, 2025 am 07:18 AM

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Apr 02, 2025 am 07:12 AM

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用