總結了九個絕佳的 Python Debug 工具
調試(Debug)階段有時是相當具有挑戰性及耗時的,Python的一些基本功能可以幫助我們快速調試。除了我們常用的Pycharm,還有哪些不錯的工具呢?
下面列出了的Python調試工具。
- Sentry 是最好的錯誤跟蹤和調試工具之一,使開發人員能夠快速診斷和修復python問題。
- Pycharm 一個基于IDE的調試工具,用于更快地檢查和修復Python相關的問題。由于其支持性、靈活性和出色的功能,它非常受歡迎。
- Pyringe 另一個Python調試器工具,可以將不同的Python代碼檢查到實時進程中,以清楚地了解其當前狀態。
- PDB 一個用于遠程服務器的源代碼調試工具。它是為不支持基于GUI的調試器的環境而設計的。
- PyScripter 另一個Python IDE平臺,提供各種功能來測試和調試Python代碼。它允許開發者在瀏覽器中編寫和運行Python代碼。
- Glitchtip 一個免費的錯誤跟蹤和調試工具,在檢測到任何錯誤時向用戶提供即時警報。
- Icecream 一個免費的Python調試工具,被開發者用來協助調試Python項目。它可以通過pip安裝。
- Pyshield 一個圖形化的Python調試工具,允許開發人員編輯、調試和發布加密的Python腳本。
- PySnooper 最好的用戶友好型Python調試工具之一,用于檢測和解決復雜和遺留Python項目中的錯誤。
眾所周知,Python是一種使用簡單語法的頂級編程語言。因此,開發者更容易閱讀和理解代碼。此外,Python用于建立桌面GUI應用程序,創建網頁,并開發基于網絡的應用程序。
這里,云朵君將和大家一起交流一些流行的第三方工具,它們將協助你調試Python并擴展你的調試能力。如果你是初學者,建議你關注和星標@公眾號:數據STUDIO,這里有不少有用的知識總結與實戰項目~
如何選擇Python Debug工具
大多數人使用python來運行基于網絡的應用程序,其中涉及到編寫成千上萬的代碼。為了避免在代碼中犯任何錯誤,開發人員選擇調試工具,幫助在啟動前運行幾個測試。在這些測試的幫助下,開發人員可以發現隱藏的錯誤,這些錯誤會影響你的性能。
但是,選擇一個工具時,開發者必須交叉檢查各種事情。看看所提供的工具是否提供錯誤報告和警報功能、性能監測、錯誤跟蹤和支持集成,以及它們是否與你的開發環境直接匹配。
還必須檢查它們是否是開源的,如果是免費,是否還是具有包含高級功能。為了減輕你的選擇困難癥,我們列出了一些考慮到各個方面的免費和高級Python調試工具,在你做出選擇之前,可以選擇關注并比較所列出的列表,因此強烈建議你點贊收藏。
有哪些好的Python Debug工具
作為最流行的編程語言之一,大多數Python開發者用來做各種各樣的開發。因此,為了獲得更好的結果和順利運行,Debug 對于 Python 項目開發是至關重要的。
下面列出了一些頂級的Python調試工具以及它們的功能,供大家選擇,最終你會選擇哪一個工具呢?
1. Sentry
圖片
Sentry[1]是最好的bug跟蹤和性能監控工具之一,受到許多領域專家的信任與支持。在Sentry的幫助下,開發人員可以快速診斷和修復python問題。此外,它支持slack跟蹤功能,使客戶更容易發現代碼中的bug并刺激開發環境。
主要特點
- 堆棧追蹤
- 事件日志閱讀器
- 檢測bug
- 識別再現bug的領域
因其優秀功能,公司可以更快地分解報告的問題。
它的性能監測能力進一步使開發人員能夠識別再現bug的區域,并迅速發現不尋常的讀數。
它是免費使用的,但有高級功能。免費工具只能問基本功能,僅支持有限的功能。如果你升級工具并選擇團隊包,可以獲得更多的bug檢測算法。同樣,商業套餐包括更多的bug檢查能力。
可以嘗試免費試用這兩個付費套餐,用其來Debug看看。
優點
- 迅速發現代碼中的bug并更快地解決問題。
- 能夠更快地發現不尋常的讀數。
- 免費工具,但支持高級功能。
- 支持源代碼整合。
缺點
- 分別報告問題。
- 壓倒性的,但需要時間來理解。
定價:提供具有基本功能和有限用戶容量的免費版本,團隊套餐版本費用是26美元/月以及商業版本是80美元/月。
網站鏈接:https://sentry.io/signup/
2.Pycharm
圖片
Pycharm[2]是一個具有IDE功能的Python調試工具,它建立在開源的原則之上,并接受以鍵盤為中心的方法。大多數開發者期待著Pycharm,因為它的支持、靈活性和出色的功能,有助于更快地檢查錯誤和修復Python問題。
主要特點
- 集成調試器和測試運行器
- 支持與主要的VCS、IPython Notebook和幾個內置數據庫工具的集成
- 支持JavaScript、TypeScript、Cython、SQL、HTML/CSS、AngularJS、Node.js等。
- 調試和部署
- 測試遠程主機或虛擬機
- 網絡開發框架
- 自動化的智能重構
- 運行PEP8檢查
該工具支持的IDE功能通過PEP8檢查、自動智能重構和其他可用的檢查功能保持對代碼質量的控制。該平臺由程序員設計,包括各種工具,幫助提高生產力和整體項目開發。
它適用于所有現代Web開發框架,包括Pyramid、web2py、Django、Flask、Google App Engine等,并支持與IPython Notebook集成。
此外,它還有免費的社區版和付費的專業版。Pycharm的高級版本支持JavaScript、HTML/CSS和SQL。因此,在Pycharm的幫助下,你可以執行廣泛的任務。
優點
- 提供語法和bug維護。
- PyCharm很容易安裝,并支持多種插件。
- 允許導入援助和丟失的庫。
- 支持一個巨大的社區,供用戶查詢。
缺點
- 與其他文本編輯器相比,更占用空間。
- 社區只支持python開發人員,不支持其他編程語言。
- 專業套餐很貴。
定價:Pycharm社區版是開源的,完全免費,而PyCharm專業版有額外的功能,價格為 199美元/年,以及全產品包為649美元/年。
網站鏈接:https://www.jetbrains.com/pycharm/
3.Pyringe
圖片
Pyringe[3]是另一個Python調試器,它幫助將不同的Python代碼注入到實時進程中,以清楚地了解其當前狀態。在Pyringe的高級功能的幫助下,可以更快地調試bug。
主要特點
- 在現場會議期間檢查代碼
- 快速調試bug
- 在7.4以上的版本中工作效果最好
- 有關問題的實時更新
- 列表中的線程和回溯
- 檢查運行中的函數的局部或全局
此外,程序不需要停止即可檢查Pyringe的數據。實時檢查所有的代碼并修復所拋出的bug。它是一個免費的工具,可以檢查正在運行的函數中的locals或globals變量。
它還支持模擬GW數據的環比分析和廣義相對論的參數化測試。如果你正在尋找一個調試工具,即使在實時會話中也能幫助檢查代碼,那就不要再找了。
優點
- 可以在運行過程中對代碼進行調試
- 更快地檢測Python代碼中的bug
- 檢查運行中的函數的局部或全局
- 實時代碼檢查
缺點
- 你必須有一個配置為"-with-python" 的gdb
定價:它是一個完全免費的軟件工具。
網站鏈接:https://github.com/google/pyringe
4.PDB
圖片
PDB[4]是Python標準庫的一部分,支持面向行的命令解釋器和基本調試器功能模塊。它最適合于不支持基于GUI的調試器的環境。
主要特點
- 允許檢查堆棧框架和源代碼列表
- 更快地發現和修復bug
- 支持修改Pdb類
- 管理員有權限在任何時候停止程序進行調試
- 事后調試
- 運行一個沒有參數的審計事件
- 支持插入多個命令
簡單地說,PBD是遠程服務器的交互式源代碼調試工具之一。只需要插入pdb、pdb.set_trace()命令即可開始調試。所有的腳本正常運行,只在你插入斷點的地方停止。
此外,它還支持查看堆棧痕跡、源代碼列表,以及除插入斷點之外的代碼步進。
優點
- 非常適合小型項目,因為它的開銷較少。
- 可以在任何時候停止程序以進行調試。
- 開發人員可以使用PDB插入多個命令。
缺點
- PDB只用CLI的方法是相當令人沮喪的
- 在收到命令時,該工具會評估單個變量和表達式,不支持編輯。
定價:它是一個完全免費的軟件工具。
網站鏈接:https://github.com/python/cpython/tree/3.10/Lib/pdb.py
5.PyScripter
圖片
PyScripter[5]是另一個基于Unicode的開源Python集成開發環境平臺,提供調試和開發。它功能豐富,并支持Python源文件的輕量級工具之一,開發者可以在瀏覽器中編寫和運行Python代碼。
主要特點
- 開源的IDE解決方案
- 免費并支持持久的可配置選項
- PyScripter是基于Unicode的
- 支持內置的參數化代碼模板
- 支持與PyLint等工具的集成
- 它有助于更快地檢測和更換代碼
- 突出顯示不同格式的文件的語法
它還用于突出不同格式文件的語法,包括HTML、XML和CSS。
PyScripter是許多公司的選擇,因為它是開源的,易于配置,并支持內置的參數化代碼模板。你還可以與其他工具集成,如PyLint。
檢測bug非常迅速,它有助于快速查找和替換代碼。PyScripter是免費的,支持可配置的IDE選項。
優點
- PyScripter是一個開源的調試器,易于配置。
- 支持不同的格式,如HTML、XML和CSS的語法文件。
- 免費且能快速檢測Python開發項目中的 bug。
缺點
- 支持有限的平臺,如Windows。
- 自第四版推出以來,它一直不穩定。
- 通過PyScripter對代碼進行重構并不容易。
定價:它是一個免費的軟件工具。
網站鏈接:https://github.com/pyscripter/pyscripter
6.Glitchtip
圖片
Glitchtip[6]是一個開源的 bug 跟蹤工具,它實時收集bug并將報告整理成可修復的格式。與其他平替工具相比,它更好,因為它是開源的,其用戶社區也一直很活躍。
主要特點
- 支持sentry整合
- 支持托管或自我托管的功能
- 免費的開源工具,提供性能監控
- 支持報告bug和匯總
- 支持大型活躍的用戶社區
此外,它是一個簡單的監控軟件,在檢測到任何bug時向用戶提供即時警報。它是一個多合一的bug跟蹤解決方案,與Sentry客戶端SDK兼容。
此外,它是一個免費工具,支持托管或自我托管選項。該工具提供的高級套餐有各種選項,如涵蓋10萬個事件的小型套餐,涵蓋多達50萬個事件的中型套餐,以及支持約300萬個事件的大型套餐。如果你是一個小公司或項目預算相對較低,建議嘗試使用 Glitchtip,它支持各種規模的企業。
優點
- Glitchtip可以輕易進行軟件監控。
- Glitchtip是一個開源的bug跟蹤平臺。
- 支持一個龐大的用戶社區。
- 是低預算公司的理想選擇,支持托管或自我托管選項。
缺點
- 對于少數企業來說,高級套餐可能很昂貴。
定價:它在自我托管時提供一個免費版本。它還為小型、中型和大型企業提供一個商業包。小型包支持多達10萬個事件,費用為每月15美元,中型包支持多達50萬個事件,費用為每月50美元。最后,大型包支持多達300萬個事件,費用為每月250美元。
網站鏈接:https://glitchtip.com/
7.Icecream
圖片
Print()函數經常被用來協助調試Python項目,但我們一直在尋找它的平替,而Icecream[7]是print()函數的最佳替代方案之一,因為與原始輸出函數(print()函數)相比,它提供了更詳細的信息。建議查看(點擊)不再使用 print 來Debug了, IceCream 來了!
主要特點
- print()函數的最佳替代方案。
- 提供比print()函數更詳細的信息。
- 對變量進行詳細檢查。
- pip安裝非常方便。
- bug檢測。
- 對Python代碼進行Debug并監控性能。
它是一個免費的、開源的Python調試工具,也用于變量的詳細檢查。安裝也很容易,Icecream 調試器可以通過 pip 安裝。
優點
- print()函數的最佳替代方案。
- 支持pip包的安裝。
- 需要更少的時間來安裝Icecream調試器。
缺點
- 在Icecream調試器工具中還沒有發現缺點。
定價:它是一個免費的工具。
網站鏈接:https://github.com/gruns/icecream
8.Pyshield
圖片
Pyshield[8]是一個支持Python的IDE工具,幫助開發者編輯、調試和發布加密的Python腳本。此外,它還被用來構建獨立的可執行文件。
主要特點
- Pyshield有一個GUI調試器
- 部署Python腳本
- 運行加密的Python腳本
- 允許在跨平臺發布Python腳本
- 支持模擬Emacs python-mode的編輯器
- 代碼樹瀏覽器
- 突出語法以減少bug
- 代碼塊折疊支持
- 在多個文件和目錄中搜索引用
- Pyshield與Windows XP、Windows 7和Ubuntu i686兼容。
你可以在Windows XP、Windows 7和Ubuntu i686上運行該工具。它允許在跨平臺上發布和運行加密的python腳本。此外,為了減少出錯的幾率,它允許開發者突出顯示語法。
它包括一個模擬Emacs python模式的編輯器。此外,它還支持各種功能,如代碼塊折疊、代碼樹瀏覽器等,使其成為調試Python的良好選擇。
優點
- 允許管理員編輯、修改、調試和發布Python腳本。
- 運行加密的python腳本。
- 強調減少錯誤的語法。
- 支持代碼塊折疊。
缺點
- Pyshield支持有限的平臺。
定價:軟件供應商[9]定價細節。
網站鏈接:https://pyshield.updatestar.com/en/edit
9.PySnooper
圖片
PySnooper[10]也是大多數開發者的首選,因為它簡化了調試工作。這個 bug 跟蹤工具會在被檢查的源代碼行和函數上自動生成日志。因此,你可以使用這個工具查看局部變量的值。
主要特點
- 支持多線程應用
- 顯示已執行的行
- 可定制的對象
- 免費的錯bug跟蹤工具
- 自動生成日志
- 在復雜和遺留的Python項目中進行調試
- 將數值截斷至任何數字
- 允許消除所有與機器有關的數據,以便更好地進行比較
此外,它很容易檢測和解決復雜和遺留的Python項目中的bug,也不必做任何額外的設置,只需要在任何函數的任何一行之前添加 "pysnooper.snoop()",它就會開始跟蹤所有函數的性能。
你也可以通過這個調試器將輸出重定向到一個特定的文件。
優點
- 不需要額外的設置。
- 支持前綴。
- 自動生成檢查過的代碼行的日志。
缺點
- PySnooper中還沒有發現缺點。
定價:它是免費的,可在GitHub上使用。
網站鏈接:https://github.com/cool-RR/PySnooper
總結
隨著人工智能的大熱,Python成為大多數開發者的首選預語言,因為它具有高度的可讀性,并支持簡單的語法。它是頂級編程語言之一,主要用于運行一個組織的運作,建立桌面GUI應用程序,以及創建和開發基于網絡的應用程序。
因此,為了確保每個操作和設計在將來都能正常工作,開發者必須在產品發布之前不斷地進行測試。如果你沒有選對合適的工具,Python Debug 過程可能相當難受。
本文列出了幾個不同的Python調試工具,它們幫助我們發現bug并解決它們。上entry、Pycharm、Pyringe、PDB、PyScripter、Glitchtip、Icecream、Pyshield和PySnooper是市場上一些流行的Python調試器,每一個工具都有不同的功能和特點。
而大多數這些工具都是開源的,可以免費使用。其中一些工具可以測試每一行源代碼,并在報告中顯示最耗時的代碼片段。按照上面列出的工具及其功能來 debug Python,每一個工具都有自己的作用和特點,你可以按需比較并選擇適合你的要求和預算的工具,以便提高你的編程效率。
你會選擇哪個工具呢?歡迎評論區討論~
參考資料
[1]Sentry: https://sentry.io/welcome/
[2]Pycharm: https://www.jetbrains.com/pycharm/
[3]Pyringe: https://github.com/google/pyringe
[4]PDB: https://github.com/pdbpp/pdbpp
[5]PyScripter: https://github.com/pyscripter/pyscripter
[6]Glitchtip: https://glitchtip.com/
[7]Icecream: https://github.com/gruns/icecream
[8]Pyshield: http://www.en.umbrella-soft.com/apps/pyshield-1.6.2
[9]軟件供應商: https://pyshield.updatestar.com/en/licenses
[10]PySnooper: https://github.com/cool-RR/PySnoope