总结了九个绝佳的 Python Debug 工具

2023年 7月 17日 28.6k 0

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

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论