總結了 9 個絕佳的 Python Debug 工具
對方接住了你拋出的 Bug,並完美解決!
調試(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 應用程序,以及創建和開發基於網絡的應用程序。如果你是初學者,建議你關注和星標 @公衆號:數據 STUDIO,這裏有不少有用的知識總結與實戰項目~
因此,爲了確保每個操作和設計在將來都能正常工作,開發者必須在產品發佈之前不斷地進行測試。如果你沒有選對合適的工具,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
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/PGAWJvF0_LFYj-VBSwoBtQ