【问题标题】:Python pdb command history not working on WindowsPython pdb 命令历史记录在 Windows 上不起作用
【发布时间】:2015-06-21 11:45:02
【问题描述】:

我正在使用 Windows 7 + Cygwin + Python 2.6 + cmd 提示符。从昨天开始,命令行历史停止使用 pdb。我在我的 python 代码中使用以下行进行交互式调试。

import pdb
pdb.set_trace()

之前,我可以使用向上箭头调用命令历史记录,但它最近停止工作。我记得在它停止工作的时候添加了一些 cygwin 包。如果有一些简单/明显的方法可以找到导致错误的原因,请告知,否则我将尝试回滚我安装的任何内容。

【问题讨论】:

  • 你真的在使用cmd提示符吗?或者更确切地说是bash?
  • 你使用的是 Cygwin 的 Python 还是原生的 Windows Python 安装?
  • 原生 Windows Python 安装
  • 那么确实很奇怪为什么这会受到Cygwin安装更改的影响,它们应该是完全无关的。是否将 Cygwin 的 bin 文件夹添加到 cmd 的 %PATH% 设置中?
  • 感谢您的帮助。是的,python.exe 和 cygwin/bin 一直在 PATH 设置中。没有任何改变。

标签: python pdb


【解决方案1】:

安装 pyreadline 包后,我可以使用向上/向下箭头键查看命令历史记录。在windows上使用pip不能安装readline,但是pyreadline似乎是等价的。

【讨论】:

    【解决方案2】:

    检查 readline 包,以及它与您的 pdb 版本的兼容性。也许你必须降级。

    编辑:

    当您谈论 Cygwin 上新安装的软件包时,我假设您使用的是 Cygwin 的 Python。因此我参考了 Cygwin 的 readline 包,因为这可能会影响现有的 Python 安装。

    【讨论】:

    • 我在 Windows 上没有 readline。历史适用于交互式 python shell,但不适用于 pdb
    【解决方案3】:

    重新安装python修复了它。

    【讨论】:

    • 我遇到了同样的问题并为此提出了一个问题,stackoverflow.com/questions/48764584/… 然后我看到你的帖子并尝试了你的解决方案,但遗憾的是它没有解决我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2011-01-05
    • 1970-01-01
    • 2022-01-03
    • 2021-09-30
    • 2013-08-17
    • 1970-01-01
    相关资源
    最近更新 更多