首頁 後端開發 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

熱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 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

mysql 是否要付費 mysql 是否要付費 Apr 08, 2025 pm 05:36 PM

MySQL 有免費的社區版和收費的企業版。社區版可免費使用和修改,但支持有限,適合穩定性要求不高、技術能力強的應用。企業版提供全面商業支持,適合需要穩定可靠、高性能數據庫且願意為支持買單的應用。選擇版本時考慮的因素包括應用關鍵性、預算和技術技能。沒有完美的選項,只有最合適的方案,需根據具體情況謹慎選擇。

HadiDB:Python 中的輕量級、可水平擴展的數據庫 HadiDB:Python 中的輕量級、可水平擴展的數據庫 Apr 08, 2025 pm 06:12 PM

HadiDB:輕量級、高水平可擴展的Python數據庫HadiDB(hadidb)是一個用Python編寫的輕量級數據庫,具備高度水平的可擴展性。安裝HadiDB使用pip安裝:pipinstallhadidb用戶管理創建用戶:createuser()方法創建一個新用戶。 authentication()方法驗證用戶身份。 fromhadidb.operationimportuseruser_obj=user("admin","admin")user_obj.

Navicat查看MongoDB數據庫密碼的方法 Navicat查看MongoDB數據庫密碼的方法 Apr 08, 2025 pm 09:39 PM

直接通過 Navicat 查看 MongoDB 密碼是不可能的,因為它以哈希值形式存儲。取回丟失密碼的方法:1. 重置密碼;2. 檢查配置文件(可能包含哈希值);3. 檢查代碼(可能硬編碼密碼)。

mysql workbench 可以連接到 mariadb 嗎 mysql workbench 可以連接到 mariadb 嗎 Apr 08, 2025 pm 02:33 PM

MySQL Workbench 可以連接 MariaDB,前提是配置正確。首先選擇 "MariaDB" 作為連接器類型。在連接配置中,正確設置 HOST、PORT、USER、PASSWORD 和 DATABASE。測試連接時,檢查 MariaDB 服務是否啟動,用戶名和密碼是否正確,端口號是否正確,防火牆是否允許連接,以及數據庫是否存在。高級用法中,使用連接池技術優化性能。常見錯誤包括權限不足、網絡連接問題等,調試錯誤時仔細分析錯誤信息和使用調試工具。優化網絡配置可以提升性能

mysql 無法連接到本地主機怎麼解決 mysql 無法連接到本地主機怎麼解決 Apr 08, 2025 pm 02:24 PM

無法連接 MySQL 可能是由於以下原因:MySQL 服務未啟動、防火牆攔截連接、端口號錯誤、用戶名或密碼錯誤、my.cnf 中的監聽地址配置不當等。排查步驟包括:1. 檢查 MySQL 服務是否正在運行;2. 調整防火牆設置以允許 MySQL 監聽 3306 端口;3. 確認端口號與實際端口號一致;4. 檢查用戶名和密碼是否正確;5. 確保 my.cnf 中的 bind-address 設置正確。

mysql 需要互聯網嗎 mysql 需要互聯網嗎 Apr 08, 2025 pm 02:18 PM

MySQL 可在無需網絡連接的情況下運行,進行基本的數據存儲和管理。但是,對於與其他系統交互、遠程訪問或使用高級功能(如復制和集群)的情況,則需要網絡連接。此外,安全措施(如防火牆)、性能優化(選擇合適的網絡連接)和數據備份對於連接到互聯網的 MySQL 數據庫至關重要。

如何針對高負載應用程序優化 MySQL 性能? 如何針對高負載應用程序優化 MySQL 性能? Apr 08, 2025 pm 06:03 PM

MySQL數據庫性能優化指南在資源密集型應用中,MySQL數據庫扮演著至關重要的角色,負責管理海量事務。然而,隨著應用規模的擴大,數據庫性能瓶頸往往成為製約因素。本文將探討一系列行之有效的MySQL性能優化策略,確保您的應用在高負載下依然保持高效響應。我們將結合實際案例,深入講解索引、查詢優化、數據庫設計以及緩存等關鍵技術。 1.數據庫架構設計優化合理的數據庫架構是MySQL性能優化的基石。以下是一些核心原則:選擇合適的數據類型選擇最小的、符合需求的數據類型,既能節省存儲空間,又能提升數據處理速度

如何將 AWS Glue 爬網程序與 Amazon Athena 結合使用 如何將 AWS Glue 爬網程序與 Amazon Athena 結合使用 Apr 09, 2025 pm 03:09 PM

作為數據專業人員,您需要處理來自各種來源的大量數據。這可能會給數據管理和分析帶來挑戰。幸運的是,兩項 AWS 服務可以提供幫助:AWS Glue 和 Amazon Athena。

See all articles