为什么不显示python回溯消息



我正在尝试将python 2库转换为python 3。由于终端中显示了python回溯错误消息,我成功地转换了一个好的部分。但这个库的一部分,即充当IDE的web服务器,并没有显示错误消息,这使得转换变得困难。

为什么不显示python回溯消息?有没有办法展示它们?

我发现我们可以设置"sys.tracebacklimit=0"来隐藏回溯,但在我的情况下,将其设置为1000没有效果。

作为大型Python 3转换的老手,有几个想法:

  • 该库有一个测试套件(python setup.py check(。这应该是你转换正确性的指南,而不是手动使用中没有错误
  • 你没有说你在用什么工具。我推荐Futurize。进行第1阶段和第2阶段的转换(大部分是自动化的(,为自己获得一个仍然在Python 2中运行的代码库,但已经清除了Python 3中保证会中断的内容。然后运行测试,直到修复了所有错误和任何失败
  • 这是一个有11年历史的Python 2.2代码库。我建议先在Python 2.7下运行它(即测试通过(,而不是从2.2开始。至3.8

TLDR:现在不要因为试图从服务器中发现错误而犹豫不决。使用测试来找到需要修复的问题。使用Futurize。

(如果你感兴趣的话,我最近做了一个"将100000行Python 2移植到Python 3"的演讲。(

最新更新