社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【Python】总结了 9 个绝佳的 Python Debug 工具

机器学习初学者 • 1 年前 • 304 次点击  
对方接住了你抛出的Bug,并完美解决!

调试(Debug)阶段有时是相当具有挑战性及耗时的,Python的一些基本功能可以帮助我们快速调试。除了我们常用的Pycharm,还有哪些不错的工具呢?

下面列出了的Python调试工具。

  1. Sentry 是最好的错误跟踪和调试工具之一,使开发人员能够快速诊断和修复python问题。
  2. Pycharm 一个基于IDE的调试工具,用于更快地检查和修复Python相关的问题。由于其支持性、灵活性和出色的功能,它非常受欢迎。
  3. Pyringe 另一个Python调试器工具,可以将不同的Python代码检查到实时进程中,以清楚地了解其当前状态。
  4. PDB 一个用于远程服务器的源代码调试工具。它是为不支持基于GUI的调试器的环境而设计的。
  5. PyScripter 另一个Python IDE平台,提供各种功能来测试和调试Python代码。它允许开发者在浏览器中编写和运行Python代码。
  6. Glitchtip 一个免费的错误跟踪和调试工具,在检测到任何错误时向用户提供即时警报。
  7. Icecream 一个免费的Python调试工具,被开发者用来协助调试Python项目。它可以通过pip安装。
  8. Pyshield 一个图形化的Python调试工具,允许开发人员编辑、调试和发布加密的Python脚本。
  9. 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





    
往期精彩回顾




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/158048
 
304 次点击