我能让Python调试器pdb输出彩色吗?

19 投票
5 回答
7361 浏览
提问于 2025-04-16 02:49

我经常在使用PDB(Python调试器),感觉如果能加上颜色的语法高亮,那就更好了。

我希望代码的路径部分能用更浅的颜色显示,而实际的代码行则能有语法高亮。

我在使用OS X和终端应用程序,Python版本是2.7。

5 个回答

9

你可以试试 pudb,这个工具可以在终端里使用,界面看起来像这样:

pudb 截图

我没有尝试过其他回答里提到的一些选项,不过从PyPI页面来看,pudb的维护和文档都做得更好。

11

看看这个 pdb++ - 它是一个可以直接替代pdb的工具,能满足你所有的需求,还增加了一些很不错的功能,比如自动补全和新的命令,比如watch和sticky。

下面是一个示例配置文件,可以让你使用颜色(在创建文件后添加这个内容: touch ~/.pdbrc.py):

import pdb

class Config(pdb.DefaultConfig):
    use_pygments = True
    pygments_formatter_class = "pygments.formatters.TerminalTrueColorFormatter"
    pygments_formatter_kwargs = {"style": "monokai"}
25

pdb 这个工具本身不支持颜色显示。不过,即使你是个喜欢用命令行的人(就像我一样;-)),想要实现颜色显示其实也不难——你不需要为了调试 Python 而切换到图形界面或集成开发环境(IDE)。特别是,当你通过 SSH 远程访问机器时,命令行工具通常会表现得更好,这样可以节省很多带宽和延迟的问题,这些问题在使用图形界面和 IDE 时会比较明显;-)。

具体来说,针对你提到的任务,可以考虑使用 ipdb(你还需要 ipython,它提供了比普通的交互式 Python 更强大的命令行界面,而 ipdb 是依赖于它的)。这两个工具都提供了很好的自动补全、增强的错误追踪信息,以及颜色显示——ipython 用于你平常的交互工作,ipdb 在调试时也有相同的功能(其他方面和 pdb 基本相同)。

撰写回答