如何更改 Python 的 help() 调试器命令的默认寻呼机?

How can I change the default pager for Python's help() debugger command?

我目前正在没有管理员权限的服务器 (Ubuntu) 中做一些工作,也没有与管理员联系。在 python 命令行中使用 help(command) 时出现错误。

这是一个例子:

>>> help(someCommand) 
/bin/sh: most: command not found

因此,此错误表明当前未安装大多数寻呼机。但是,我正在使用的服务器安装了“更多”和“更少”的寻呼机。那么,如何更改此 python 实用程序的默认寻呼机配置?

您可以创建一个只调用 less(甚至 more)的自定义 most 脚本。

步骤为:

  1. 设置一个名为most的脚本,其内容为:
    #!/bin/sh
    less ${@:1}  # wierdess is just "all arguments except argument 0"
  1. 将该脚本放在您 PATH
  2. 上的某个位置

然后 most filename 应该只是 运行 less 在该文件上,并且应该从您的 python 解释器中调用该命令。

老实说,我只会使用 Karl 的方法。

这个很难研究,但我想我找到了。

内置 help 使用标准库 pydoc 模块生成消息(该模块也可用作独立脚本)。在 that 文档中,我们发现:

When printing output to the console, pydoc attempts to paginate the output for easier reading. If the PAGER environment variable is set, pydoc will use its value as a pagination program.

所以,据推测,这已在您的系统上设置为 most。假设它不会破坏您系统上的任何其他东西,只需取消设置或更改它即可。 (它仍然没有设置值的页面 - 即使在 Windows 上也是如此。我假设它有一个内置的后备。)

您可以在 the source code 中查看各种寻呼机选项。该函数可以根据需要替换为 return 。例如:

import pydoc

pydoc.getpager = lambda: lambda text: pydoc.pipepager(text, 'less')