社区所有版块导航
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】起飞!又来 8 种 Python Debug 工具

机器学习初学者 • 2 年前 • 419 次点击  


如果没有正确的工具帮助,Python Debug真的会使人崩溃。今天云朵君将和大家一起学习8种不同的Debug 工具帮助我们轻松调试Python代码。

由于没有办法检测和解决你的代码bug,Debug的步骤很快就会变得令人沮丧。值得庆幸的是,现在有很多工具可以帮助我们严格而详细地调试你的Python代码。

由于没有办法检测和解决你的代码bug,调试的步骤很快就会变得令人沮丧。Python 有一些基本函数可以帮助调试 (见下面的 print() 过程)。尽管如此,你可能仍然需要第三方工具来帮助你提高调试技能。

下面是我们列出的调试Python的最佳工具。(其中前两个我们在这里已经介绍过)

  1. Sentry 一个强大的bug跟踪和性能监控工具,具有获得问题报告的细化反馈以及与你的开发环境直接相关的可操作见解的出色选项。
  2. Pycharm 核心开发过程中最好的Python调试工具之一,因为它是一个专门针对Python的IDE,具有出色的调试设施。
  3. Rollbar 另一种用于bug报告和bug汇总的方法。Rollbar提供各种通知控制和跟踪选项,帮助你提高调试效率。
  4. Instabug 一个带有VCS连接器的bug报告解决方案,专注于移动用户测试和反馈汇总。
  5. Visual Studio 微软提供了市场上最伟大的调试IDE之一,其专业软件包包括许多bug诊断功能。
  6. Raygun 这个解决方案包含一套用于综合问题诊断和处理的缓解工具,它是为崩溃报告和bug监测而建立的。
  7. Glitchtip 一个开源的bug报告选项。Glitchtip提供了高级产品的所有基本功能,同时保持完全免费和可适应性。
  8. Komodo IDE 一个开源的IDE,具有强大的调试功能和VCS集成,支持众多语言(包括Python)。

如果你正在寻找协助你调试 Python 的工具,求你不要只想到 print() 函数了。这篇文章总结了多种不同的调试 Python 的工具,包括诊断和解决bug。这些工具的功能各不相同,但它们可以分为两类。IDE和Bug报告工具。

IDEs

升级你的IDE是提高你Debug能力的最有效方法之一。这是因为你的编码能力受到你的开发环境的影响,这种影响是微妙而重要的。虽然大多数高级IDE的工作方式类似,但我们在这个列表中包括了少数几个专门为调试而设计的IDE。

Bug报告工具

虽然在开发过程中的Debug是至关重要的,但你的大部分故障将在测试和部署后发现。此外,在与你的产品打交道的整个过程中,你的QA团队、外部测试人员和终端用户都会发现各种各样的bug。

Bug报告和汇总工具可以帮助解决这个问题,因为它们提供了一个登记bug和通知你的bug处理开发人员的平台。为了使Debug更容易,这些工具直接与你的开发环境或工作流程系统对接。在我们的列表中,我们已经包括了一些这样的工具供你查看。

开源

本文中的一些解决方案是开源的。开源在各个方面都有各种好处,尤其在Debug方面,它是特别有用的。这是因为,由于与较新的或不同的系统不兼容而可能出现的技术问题。

浏览器的更新、新的行业标准和其他类似的问题可能会在使用第三方解决方案进行调试时造成问题,因为你要依赖这些解决方案来更新他们的参数。开放源码可以通过把更新这些参数的责任放在公共用户群中来规避许多这些问题。

Python Debug最佳工具

1.Sentry

Sentry[1]是一个Bug跟踪和性能监测工具,可以诊断和解决python问题。堆栈跟踪功能模拟了你的开发环境,使你能够分解报告的问题,并更好地了解代码中的bug发生地。

该服务将你的问题汇编成一个可搜索的列表,并允许你识别你的代码区域,以使其更容易重现bug。性能监测工具可以帮助你诊断问题,让你快速发现你的开发项目中的异常读数。

主要特点

  • bug检测
  • 性能监测
  • 堆栈跟踪以了解bug情况
  • 事件日志阅读器
  • 免费,容量有限

Sentry的基本功能是完全免费使用的,但是它的用户容量有限。升级到团队套餐版本费用是26美元/月,以及商业版本是80美元/月。

优点

  • 专门用于监测各种语言,适合已经有其他他们满意的应用监测工具的公司
  • 围绕服务器健康监测定制100多个警报和模板
  • 支持根本原因分析,以加快解决时间
  • 包括用于更好地进行根本原因分析的工作流程

缺点

  • 更适合于小型团队

团队版和商业版都提供免费试用。如果你需要确保大规模的业务,并需要诸如整体平台bug监控和跨项目洞察力等功能,你可以直接联系Sentry,以获得企业规模的服务。

2.Pycharm

Pycharm[2]是一个专注于Python的IDE,具有一些最棒的Python调试工具。此外,智能帮助功能给出了智能自动完成和bug检查,从而大大减少了问题的发生。除了调试工具外,该解决方案还包括一些有利于整体开发的其他工具。

主要特点

  • 以Python为重点的IDE
  • 智能辅助功能
  • 网络开发框架
  • VCS整合
  • 图形化的调试器

由于该产品是建立在开源原则之上的,它提供了大量的支持和灵活性。除了Python,高级版本还支持JavaScript、HTML/CSS和SQL,大大扩展了该工具对更多任务的适用性。

优点

  • 特点专注于Python的调试工具
  • 支持自动完成
  • 建立在一个开源的平台上
  • 高度灵活,可以支持其他语言

缺点

  • 缺少人工智能能力

Pycharm有两个版本:免费的社区版和具有更多功能的付费专业版。专业版有一个免费试用版,它对科学和网络python开发提供了更大的支持。

3.Rollbar

Rollbar[3]是一个bug报告和故障汇总解决方案,是基于实时问题识别。该解决方案包括一套用于快速和准确的bug报告的通知,但它也对bug通知进行智能分组,以方便阅读。

主要特点

  • Bug报告和汇总
  • 实时的bug通知
  • Bug管理
  • 工作流程整合
  • 免费,容量有限

自动问题跟踪和工作流程触发器帮助你避免意外地用已知但未处理的bug来运送项目。此外,通过所提供的各种连接器获得的遥测数据使你能够跟踪bug出现的位置,使你能够加快bug修复。

优点

  • 支持实时发现和分析bug
  • 支持各种集成,几乎适用于任何工作流程
  • 免费提供多达25,000个bug事件

缺点

  • 更适合于大型环境

Rollbar免费提供多达25,000个bug事件,并有足够的基本功能让你开始使用,特别是如果你与一个小型开发团队合作。高级计划中包括Essentials计划,该计划每月花费21美元,最多可覆盖50,000个bug事件。高级计划允许多达10万个bug事件和一个多项目反馈,这是CI/CD工作流程的理想选择。

4.Instabug

Instabug[4]是一个专门为移动测试设计的bug报告应用程序。该系统依靠人类测试人员来发现产品中的缺陷,但它也提供了一种收集和处理与缺陷有关的反馈的方法。因为它只作为一个反馈设备,所以该产品并不是专门为Python或其他语言创建的。

主要特点

  • 移动bug报告
  • 日志数据
  • 性能监测
  • 大量整合
  • 自动通知

Bug报告可以与日志数据进行比较,以便更好地了解已报告的问题。此外,该解决方案具有大量的集成功能,如Github、Slack和Trello,有助于简化开发过程。

优点

  • 优秀的用户界面
  • 为团队和工作流程提供各种通信选项
  • 提供自动通知和性能监测

缺点

  • 主要为移动测试而设计
  • 希望看到更长时间的试验

Instabug有14天的免费试用期。基本产品包的价格是 149美元/月,基本产品包每月花费149美元,专为小型组织设计。Pro版本的月费为249美元,提供了更多的诊断功能和集成选项。

高级解决方案是为大型企业设计的,大大增强了诊断选择,包括企业内部托管。但是,你必须直接与该公司联系,以获得定制的价格报价。

5.Visual Studio

微软Visual Studio[5]是一个拥有最全面的调试工具箱的IDE。例如,你可以使用断点来隔离可能产生问题的某些代码行,然后利用内置的可视化调试工具来识别和解决问题。

你还可以在步骤序列中使用调试工具,找出哪一行代码产生了问题。在故障修复方面,Visual Studio的调试功能库意味着它可以与任何其他IDE竞争。此外,由于Visual Studio支持广泛的语言,其可用性不仅仅是Python。

主要特点

  • 专业的IDE
  • 扩展的调试功能
  • 视觉调试器
  • 大量可用的集成
  • 多语言

Visual Studio有多种形式,包括社区版,它是针对个人小规模开发者的免费、开源版本。

优点

  • 支持Python和其他语言
  • 是市场上最受欢迎的IDE之一
  • 具有可视化调试器的功能

缺点

  • 对于那些希望离开Visual Studio而寻找其他替代方案的人来说,并不理想。

如果您在一个团队中工作,你可能需要查看Business选项,这是每月45美元订阅的一部分。每月只需250美元,就可为大规模商业需求提供企业服务。

6.Raygun

Raygun[6]聚集用户数据,以实现准确的崩溃报告和bug反馈。此外,该解决方案还包括问题跟踪工具和调试缓解措施。这些功能,再加上用户数据监控,使这个解决方案成为调试现有运营服务的理想选择。

此外,该解决方案还将其主要功能分成三个不同的项目。这意味着你可以选择你需要的服务而不需要支付更多的费用,但这也意味着如果你需要一个功能齐全的解决方案,你最终可能要比其他解决方案支付更多的费用。

主要特点

  • Bug反馈
  • 碰撞报告
  • 诊断和缓解工具
  • 用户监控平台
  • 模块化的定价模式

该解决方案分为三个主要服务,每个服务都可以在网站上免费试用[7]。你的监控需求将受益于应用性能监控和真实用户监控套餐,每月起价8美元。

优点

  • 简单的可视化调试器
  • 提供崩溃报告和bug反馈
  • 支持用户监控

缺点

  • 更适合真实的用户监控用例

正确的Javascript调试工具可以在bug监控和崩溃报告应用程序中找到,该应用程序每月的费用为4美元。同样,每个产品的价格都可以根据所需的容量进行扩展,一般以1万个单位为单位。

7.Glitchtip

Glitchtip[8]是一个开源的bug报告应用程序,它将问题报告收集并组织成一种可读、可修复的格式。它的性能优于其他替代品,因为它是开源的,这意味着它比其他一些产品拥有更大的用户群。

主要特点

  • 开放源代码
  • Bug报告和汇总
  • 性能监测
  • Sentry整合
  • 托管或自我托管选项

该解决方案似乎是针对Sentry放弃开源的决定而开发的,但它仍然可以与Sentry的开放SDK一起使用。你可以在本地托管该解决方案,因为它是开源的,但该公司也提供托管选择。Glitchtip仍处于起步阶段,但它可能是需要开源的小型企业或低预算项目的理想答案。

优点

  • 完全开源的项目
  • 提供托管和自我托管两种选择
  • 非常轻巧

缺点

  • 界面可以改进

当自我托管时,Glitchtip是开源的,完全免费。你也可以使用他们的托管平台,最多可容纳1000个事件,这也是免费的。

除了提供免费的托管服务外,它们还为小型、中型和大型企业提供服务。Small package每月15美元,支持最多10万的活动。Medium包每月花费50美元,支持最多50万次活动。最后,Large包每月花费250美元,支持最多300万个事件。

8.Komodo IDE

Komodo[9]是另一个IDE,但这个IDE支持广泛的语言,包括Python。Komodo是开源的,而且该产品的基本版本也是免费提供的。集成开发环境中的可视化调试器和代码检查功能在调试、改善bug识别和预防问题方面表现出色。

主要特点

  • 开源IDE
  • 内置的VCS集成
  • 视觉调试器
  • 工作流程管理
  • 多语言(包括Python)。

由于内置支持VCS,如Git和工作流管理解决方案,你可以避免有缺陷的构建被分发。Komodo的真正诱惑力在于它的开源性质,这意味着它有很多支持和扩展选项。如果你需要一个用于Python开发的新IDE,这个解决方案将提供大量的功能来提高你的调试能力。

优点

  • 包括Python工具以及对多种语言的支持
  • 基于开放源码的工具
  • 支持可视化调试

缺点

  • 该产品可以从该公司的网站下载和安装,但要使用它,即使是免费版本,你也需要一个ActiveState账户。遗憾的是,ActiveState似乎正在逐步淘汰该IDE,而将其纳入ActiveState平台。

这个集成开发环境仍然有一批追随者,而且因为它是免费和开源的,如果你的预算有限,需要一个解决方案,它值得考虑。然而,请记住,虽然该产品仍然受到支持,但与更现代的替代品相比,它的受欢迎程度似乎在逐渐下降。

参考资料

[1]

Sentry: https://sentry.io/welcome/

[2]

Pycharm: https://www.jetbrains.com/pycharm/

[3]

Rollbar: https://rollbar.com/

[4]

Instabug: https://instabug.com/

[5]

微软Visual Studio: https://visualstudio.microsoft.com/vs/

[6]

Raygun: https://raygun.com/

[7]

免费试用: https://app.raygun.com/signup

[8]

Glitchtip: https://glitchtip.com/

[9]

Komodo: https://www.activestate.com/products/komodo-ide/


往期精彩回顾




  • 交流群

欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/165302