调试(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