【问题标题】:Why are python traceback messages not displayed?为什么不显示python回溯消息?
【发布时间】:2020-03-22 22:02:34
【问题描述】:

我正在尝试将 python 2 library 转换为 python 3。 由于终端中显示的 python 回溯错误消息,我设法转换了一个很好的部分。 但是这个库的一部分,它是一个作为 IDE 的网络服务器,不显示错误消息,使转换变得困难。

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

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

【问题讨论】:

  • 他们不是有日志吗?

标签: python


【解决方案1】:

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

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

TLDR:不要立即尝试从服务器上发现错误。使用测试来找到你需要修复的东西。使用未来化。

(如果您有兴趣,我最近给了"Porting 100,000 lines of Python 2 to Python 3" talk。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多